Clave uses Mintlify to create documentation. To contribute to Clave, you should start by installing Mintlify first.

Prerequisite: Please install Node.js version 19 or higher before proceeding.

Follow these steps to install and run Mintlify on your operating system:

Install Mintlify

npm i -g mintlify

Modifying an Existing Translation

If you want to modify (fixing typos, enhancing the wording etc.) an existing translation

  1. Fork the Project Make a fork of the clave-docs project and create your branches from the default main branch. If your PR is still a work in progress, consider putting it into a Draft status. Once your PR is ready for review, switch it back to an active PR request, and any reviewers already attached will automatically get a notification.
  2. And start modifyingg the texts in the MDX files. Please follow PR Rules to Open a PR.

Adding a New Language

  1. Fork the Project Make a fork of the clave-docs project and create your branches from the default main branch. If your PR is still a work in progress, consider putting it into a Draft status. Once your PR is ready for review, switch it back to an active PR request, and any reviewers already attached will automatically get a notification.

  2. Create a File Named with Your Language (You can use the short form of the language name, for example, we used TR for Turkish)

  1. Add Your Language to the JSON File Simply copy the code below and change yourlanguage to your language.

To configure all repetitions of a word (e.g., yourlanguage) on the same page in VSCode, follow these steps: Select the yourlanguage Word: Then, use the key combination Ctrl + Shift + L (Windows/Linux) or Cmd + Shift + L (Mac) to select all occurrences of yourlanguage on the page. This allows you to edit them all at once. This way, you can edit all selected words simultaneously.

Copy the code below and change it to your language

{
  "group": "Clave",
  "pages": [
    "yourlanguage/welcome-to-clave",
    "yourlanguage/about"
  ],
  "version": "yourlanguage"
},
{
  "group": "Clave Guides",
  "pages": [
    {
      "group": "Basics",
      "pages": [
        "yourlanguage/how-to-create-account",
        "yourlanguage/how-to-fund-your-wallet-on-zksync",
        "yourlanguage/how-to-fund-your-wallet-from-other-chains",
        {
          "group": "Creating Passkeys",
          "pages": [
            {
              "group": "Android Users",
              "pages": [
                "yourlanguage/google-password-manager",
                "yourlanguage/bitwardyourlanguage-android",
                "yourlanguage/samsung-pass"
              ]
            },
            {
              "group": "Apple Users",
              "pages": [
                "yourlanguage/icloud-keychain",
                "yourlanguage/1password-apple",
                "yourlanguage/bitwardyourlanguage-apple",
                "yourlanguage/passkey-ryourlanguageame"
              ]
            }
          ]
        },
        "yourlanguage/custom-tokyourlanguages",
        "yourlanguage/problem-solving"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Send & Receive",
      "pages": [
        "yourlanguage/how-to-send-money-via-clave",
        "yourlanguage/how-to-send-money-with-link",
        "yourlanguage/how-to-withdraw"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Swap",
      "pages": [
        "yourlanguage/how-to-swap-your-tokens"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Earn",
      "pages": [
        "yourlanguage/dex-pools",
        "yourlanguage/one-sided",
        "yourlanguage/earn-types"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Account Security/Management",
      "pages": [
        "yourlanguage/how-to-assign-guardians",
        "yourlanguage/how-to-recover-clave",
        "yourlanguage/how-to-recover-eoa",
        "yourlanguage/how-to-cancel-your-recovery",
        "yourlanguage/remove-guardian"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Wallet Connect Connections",
      "pages": [
        "yourlanguage/wc-connect",
        "yourlanguage/wc-sessions"
      ],
      "version": "yourlanguage"
    },
    {
      "group": "Split",
      "pages": [
        "yourlanguage/how-split-works",
        "yourlanguage/split-use",
        "yourlanguage/pay-debts"
      ],
      "version": "yourlanguage"
    }
  ],
  "version": "yourlanguage"
},
{
  "group": "Clave Technical Explainers",
  "pages": [
    "yourlanguage/technical-introduction",
    "yourlanguage/zksync-aa-explainer",
    {
      "group": "Clave's Key Management System",
      "pages": [
        "yourlanguage/clave-key-management",
        {
          "group": "Passkey Signer",
          "pages": [
            "yourlanguage/passkeys-technical",
            "yourlanguage/secure-yourlanguageclave-technical"
          ]
        },
        {
          "group": "Recovery Mechanisms",
          "pages": [
            "yourlanguage/recovery-technical",
            "yourlanguage/zkemail-recovery-technical"
          ]
        }
      ]
    },
    "yourlanguage/clave-yourlanguages-subname"
  ],
  "version": "yourlanguage"
}
  1. Add Your Language to Versions In the JSON file, you’ll see the code below that defines the different versions of Clave Docs:
  ],
  "versions": [
    "EN",
    "TR",
    "yourlanguage"
  ],

Add the short name of your language to the versions array to enable indexing for your translations.

  1. Open Your Language’s File and Start Translating. If your PR is still a work in progress, consider putting it into a Draft status. Once your PR is ready for review, switch it back to an active PR request, and any reviewers already attached will automatically get a notification.