Skip to content

Commit

Permalink
feat: use full links in markdown
Browse files Browse the repository at this point in the history
-> to allow browsing GH/npm ...
  • Loading branch information
NilsJacobsen committed Apr 18, 2024
1 parent 41ee866 commit 0f242ca
Show file tree
Hide file tree
Showing 22 changed files with 58 additions and 58 deletions.
8 changes: 4 additions & 4 deletions inlang/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@

**inlang is a whole ecosystem** of building blocks for your globalization (internationalization / i18n) efforts with the goal of helping companies enter new markets in no time. For example:

- use [inlang Paraglide.js](/m/gerre34r/library-inlang-paraglideJs) to have a fully translated, typesafe & fast app in minutes
- use the [inlang Visual Studio Code extension (Sherlock)](/m/r7kp499g/app-inlang-ideExtension) to translate your app right in the editor
- use the [inlang Fink](/m/tdozzpar/app-inlang-finkLocalizationEditor) to translate your app in the browser & invite collaborators to help you
- use the [inlang CLI](/m/2qj2w8pu/app-inlang-cli) to lint your messsages with lint rules or machine translate them & have quality control in CI/CD
- use [inlang Paraglide.js](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) to have a fully translated, typesafe & fast app in minutes
- use the [inlang Visual Studio Code extension (Sherlock)](https://inlang.com/m/r7kp499g/app-inlang-ideExtension) to translate your app right in the editor
- use the [inlang Fink](https://inlang.com/m/tdozzpar/app-inlang-finkLocalizationEditor) to translate your app in the browser & invite collaborators to help you
- use the [inlang CLI](https://inlang.com/m/2qj2w8pu/app-inlang-cli) to lint your messsages with lint rules or machine translate them & have quality control in CI/CD
- *build your own app / plugin / lint rule* with the [inlang SDK](https://inlang.com/documentation)
- ...

Expand Down
4 changes: 2 additions & 2 deletions inlang/documentation/ecosystem/concept/lint-rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

Lint rules validate messages and other types of content in an inlang project.

For example, the [missing translation lint rule](/m/messageLintRule.inlang.missingTranslation) reports an issue if a message is missing a translation for a specified [language tag](/documentation/concept/language-tag). Inlang applications use lint rules to validate content and report issues to the user.
For example, the [missing translation lint rule](https://inlang.com/m/messageLintRule.inlang.missingTranslation) reports an issue if a message is missing a translation for a specified [language tag](/documentation/concept/language-tag). Inlang applications use lint rules to validate content and report issues to the user.

## Types of lint rules

![inlang message lints](https://cdn.jsdelivr.net/gh/opral/monorepo/inlang/documentation/sdk/assets/lintrule-messagelints.jpg)

### Message lint rule

A message lint rule validates a message. For example, the [missing translation lint rule](/m/messageLintRule.inlang.missingTranslation) validates that a message has a translation for a specified [language tag](/documentation/concept/language-tag).
A message lint rule validates a message. For example, the [missing translation lint rule](https://inlang.com/m/messageLintRule.inlang.missingTranslation) validates that a message has a translation for a specified [language tag](/documentation/concept/language-tag).

![inlang code lints](https://cdn.jsdelivr.net/gh/opral/monorepo/inlang/documentation/sdk/assets/lintrule-codelints.jpg)

Expand Down
2 changes: 1 addition & 1 deletion inlang/documentation/lint-rule/getting-started/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Before you begin developing a lint rule, make sure you have the following pre-re

### 1. Initialize a new lint rule module

You need to initialize a new lint rule module using the inlang [CLI](/m/2qj2w8pu) to get started. Open your terminal and run the following command:
You need to initialize a new lint rule module using the inlang [CLI](https://inlang.com/m/2qj2w8pu) to get started. Open your terminal and run the following command:

```bash
npx @inlang/cli@latest module init --type lintRule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@

Lint rules validate messages and other types of content in an inlang project.

For example, the [missing translation lint rule](/m/messageLintRule.inlang.missingTranslation) reports an issue if a message is missing a translation for a specified [language tag](/documentation/concept/language-tag). Inlang applications use lint rules to validate content and report issues to the user.
For example, the [missing translation lint rule](https://inlang.com/m/messageLintRule.inlang.missingTranslation) reports an issue if a message is missing a translation for a specified [language tag](/documentation/concept/language-tag). Inlang applications use lint rules to validate content and report issues to the user.

## Types of lint rules

![inlang message lints](https://cdn.jsdelivr.net/gh/opral/monorepo/inlang/documentation/sdk/assets/lintrule-messagelints.jpg)

### Message lint rule

A message lint rule validates a message. For example, the [missing translation lint rule](/m/messageLintRule.inlang.missingTranslation) validates that a message has a translation for a specified [language tag](/documentation/concept/language-tag).
A message lint rule validates a message. For example, the [missing translation lint rule](https://inlang.com/m/messageLintRule.inlang.missingTranslation) validates that a message has a translation for a specified [language tag](/documentation/concept/language-tag).

![inlang code lints](https://cdn.jsdelivr.net/gh/opral/monorepo/inlang/documentation/sdk/assets/lintrule-codelints.jpg)

Expand Down
2 changes: 1 addition & 1 deletion inlang/documentation/sdk/how-to/publish-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ You can ensure that your manifest is valid by loading the following schema.
| **Parameter** | **Convention** |
|----------------------|---------------------------------------------------------------|
| `id` | The unique identifier should always be written in camelCase like this: `camelCase.camelCase.camelCase` |
| `displayName` | Please follow the [Apple Style Guide](https://support.apple.com/de-de/guide/applestyleguide/apsgb744e4a3/web) and write the first letter of a new word in the title always in uppercase, e.g. [Language Tag](/m/8y8sxj09/library-inlang-languageTag). **Rule of thumb:** The first letter of the first word always has to be uppercase, except your displayName is a name written in lowercase letters everywhere else like `npm` for example. |
| `displayName` | Please follow the [Apple Style Guide](https://support.apple.com/de-de/guide/applestyleguide/apsgb744e4a3/web) and write the first letter of a new word in the title always in uppercase, e.g. [Language Tag](https://inlang.com/m/8y8sxj09/library-inlang-languageTag). **Rule of thumb:** The first letter of the first word always has to be uppercase, except your displayName is a name written in lowercase letters everywhere else like `npm` for example. |
| `description` | Please make sure to describe your guide as simple as possible. It is best practice to write 100 to 200 characters. |
`readme` | The readme acts as documentation for your guide and is written in markdown. Feel free to use github flavored markdown, additionally you use inlang's custom web components (doc-elements). |
`keywords` | Keywords are always written in lowercase e.g. `i18n`, `adoptable` … |
Expand Down
2 changes: 1 addition & 1 deletion inlang/documentation/sdk/how-to/publish-marketplace.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You can ensure that your manifest is valid by loading the following schema.
| Parameter | Convention |
|----------------------|---------------------------------------------------------------|
| `id` | The unique identifier should always be written in camelCase like this: `camelCase.camelCase.camelCase` |
| `displayName` | Please follow the [Apple Style Guide](https://support.apple.com/de-de/guide/applestyleguide/apsgb744e4a3/web) and write the first letter of a new word in the title always in uppercase, e.g. [Language Tag](/m/8y8sxj09/library-inlang-languageTag). **Rule of thumb:** The first letter of the first word always has to be uppercase, except your displayName is a name written in lowercase letters everywhere else like `npm` for example. |
| `displayName` | Please follow the [Apple Style Guide](https://support.apple.com/de-de/guide/applestyleguide/apsgb744e4a3/web) and write the first letter of a new word in the title always in uppercase, e.g. [Language Tag](https://inlang.com/m/8y8sxj09/library-inlang-languageTag). **Rule of thumb:** The first letter of the first word always has to be uppercase, except your displayName is a name written in lowercase letters everywhere else like `npm` for example. |
| `description` | Please make sure to describe your item as simple as possible. It is best practice to write 100 to 200 characters. |
`readme` | The readme acts as documentation for your item and is written in markdown. Feel free to use github flavored markdown, additionally you use inlang's custom web components (doc-elements). |
`keywords` | Keywords are always written in lowercase e.g. `i18n`, `adoptable` … |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ In this guide, you will learn how to set up ParaglideJS in your existing SolidSt
## Getting started
This guide assumes that you already have a solidstart project set up. If you don't, follow the [official getting started guide](https://start.solidjs.com/getting-started/project-setup).

First, we will need to install [ParaglideJS](/m/gerre34r/library-inlang-paraglideJs), aswell as the official [SolidStart adapter for Paraglide](/m/n860p17j/paraglide-solidstart-i18n).
First, we will need to install [ParaglideJS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs), aswell as the official [SolidStart adapter for Paraglide](https://inlang.com/m/n860p17j/paraglide-solidstart-i18n).

```bash
npx @inlang/paraglide-js@lates init
Expand Down Expand Up @@ -67,12 +67,12 @@ The default path for translation files are `./messages/{lang}.json`. You can cha
You can add messages in two ways:

1. Manually editing the translation files
2. Using [Sherlock (VS Code extension)](/m/r7kp499g/app-inlang-ideExtension)
2. Using [Sherlock (VS Code extension)](https://inlang.com/m/r7kp499g/app-inlang-ideExtension)

### Add messages through Sherlock (VS Code extension) - recommended

- Install the Sherlock (VS Code extension) from the VS Code marketplace.
[See extension on inlang.com](/m/r7kp499g/app-inlang-ideExtension)
[See extension on inlang.com](https://inlang.com/m/r7kp499g/app-inlang-ideExtension)
[vs-code marketplace](https://marketplace.visualstudio.com/items?itemName=inlang.vs-code-extension)

- Reload window (only needed once).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

In this guide, we will be creating a simple SvelteKit app with i18n routing, using Paraglide for translations. This should be all you need to get started with Paraglide.

We will be using [Paraglide.js](/m/gerre34r/library-inlang-paraglideJs), the [inlang-message-format](/m/reootnfj/plugin-inlang-messageFormat) and [inlang's IDE Extension](/m/r7kp499g/app-inlang-ideExtension).
We will be using [Paraglide.js](https://inlang.com/m/gerre34r/library-inlang-paraglideJs), the [inlang-message-format](https://inlang.com/m/reootnfj/plugin-inlang-messageFormat) and [inlang's IDE Extension](https://inlang.com/m/r7kp499g/app-inlang-ideExtension).

## 1. Create a SvelteKit app

Expand Down Expand Up @@ -102,12 +102,12 @@ The init command will have generated `./messages/{lang}.json` files for each lan
You can add messages in two ways:

1. Manually editing the translation files
2. Using [Sherlock (VS Code extension)](/m/r7kp499g/app-inlang-ideExtension)
2. Using [Sherlock (VS Code extension)](https://inlang.com/m/r7kp499g/app-inlang-ideExtension)

### Add messages through Sherlock (VS Code extension) - recommended

- Install the Sherlock (VS Code extension) from the VS Code marketplace.
[See extension on inlang.com](/m/r7kp499g/app-inlang-ideExtension)
[See extension on inlang.com](https://inlang.com/m/r7kp499g/app-inlang-ideExtension)
[vs-code marketplace](https://marketplace.visualstudio.com/items?itemName=inlang.vs-code-extension)

- Reload window (only needed once).
Expand Down Expand Up @@ -292,7 +292,7 @@ That's it! If you now reload the page and inspect the HTML, you should see the c

You are now set up with a multi-linguagal SvelteKit app using Paraglide!

The SvelteKit adapter has a few more features that you might want to check out, such as localized paths. Read more about it in the [SvelteKit Adapter Documentation](/m/dxnzrydw/paraglide-sveltekit-i18n).
The SvelteKit adapter has a few more features that you might want to check out, such as localized paths. Read more about it in the [SvelteKit Adapter Documentation](https://inlang.com/m/dxnzrydw/paraglide-sveltekit-i18n).

Try it on [StackBlitz](https://stackblitz.com/~/github.com/lorissigrist/paraglide-sveltekit-example)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ In this guide, we will be learning how to build an multilingual Astro.

Astro comes with [great internationalization out of the box](https://docs.astro.build/en/recipes/i18n/). It makes it very easy to translate the content of our pages.

For stuff that's shared between pages, such as layouts or components, we still need an i18n library to inject the correct messages. We'll be using [ParaglideJS](/m/gerre34r/library-inlang-paraglideJs).
For stuff that's shared between pages, such as layouts or components, we still need an i18n library to inject the correct messages. We'll be using [ParaglideJS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs).

[Paraglide](/m/gerre34r/library-inlang-paraglideJs) offers some unique features that make it a great fit for Astro
[Paraglide](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) offers some unique features that make it a great fit for Astro
- Only messages that are used on 🏝️Islands are shipped to the client
- Fully typesafe
- Tiny runtime (<100bytes on the client)
Expand Down Expand Up @@ -55,7 +55,7 @@ Inside `.astro` files, we can access the current language with `Astro.currentLoc

## Adding ParaglideJS

For translating layouts and components we need an i18n library. Let's install [ParaglideJS](/m/gerre34r/library-inlang-paraglideJs) and the [Paraglide Astro Integration](/m/iljlwzfs/paraglide-astro-i18n).
For translating layouts and components we need an i18n library. Let's install [ParaglideJS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) and the [Paraglide Astro Integration](https://inlang.com/m/iljlwzfs/paraglide-astro-i18n).

```bash
npx @inlang/paraglide-js init
Expand Down Expand Up @@ -113,7 +113,7 @@ The files contain a key-calue pair of the messageID and the translation.
}
```

If you already have a lot of hardcoded text in your app you should use the [Sherlock VS Code extension](/m/r7kp499g/app-inlang-ideExtension) to extract them automatically.
If you already have a lot of hardcoded text in your app you should use the [Sherlock VS Code extension](https://inlang.com/m/r7kp499g/app-inlang-ideExtension) to extract them automatically.

## Using Messages

Expand Down Expand Up @@ -141,7 +141,7 @@ In your global Astro layout, add the following:

## Translating the Page Shell

Now it's really just a matter of going through your app and extracting any hard-coded strings into messages. This is easiest to do with the [Sherlock VSCode extension](/m/r7kp499g/app-inlang-ideExtension).
Now it's really just a matter of going through your app and extracting any hard-coded strings into messages. This is easiest to do with the [Sherlock VSCode extension](https://inlang.com/m/r7kp499g/app-inlang-ideExtension).

Then you just import the messages and use them in your components.

Expand Down Expand Up @@ -196,6 +196,6 @@ In components you can access the current language using the `languageTag()` func

## What's Next?

You can read the [Paraglide](/m/gerre34r/library-inlang-paraglideJs) and [Paraglide-Adapter-Astro](/m/iljlwzfs/paraglide-astro-i18n) documentation to get a more complete understanding of what's possible. You can also check out our [Astro + Paraglide](https://stackblitz.com/~/github.com/LorisSigrist/paraglide-astro-example) example on StackBlitz.
You can read the [Paraglide](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) and [Paraglide-Adapter-Astro](https://inlang.com/m/iljlwzfs/paraglide-astro-i18n) documentation to get a more complete understanding of what's possible. You can also check out our [Astro + Paraglide](https://stackblitz.com/~/github.com/LorisSigrist/paraglide-astro-example) example on StackBlitz.

If you have any suggestions for this guide, please reach out to us on [Discord](https://discord.gg/CNPfhWpcAa), or open an issue on [GitHub](https://www.github.com/opral/inlang-paraglide-js/issues). If you have trouble following, don't hesitate to ask for help. We are happy to help getting you set up.
2 changes: 1 addition & 1 deletion inlang/guides/dont-lazy-load/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ This is most noticeable if you have fewer messages & fewer languages, but it per
An example of the nuclear option in action is [galaxus.ch](https://www.galaxus.ch/). It's a very well-made NextJS site that loads very quickly, not despite loading all languages, but because of it.
This is why we chose _not_ to ship lazy-loading in our i18n library [ParaglideJS](/m/gerre34r/library-inlang-paraglideJs). Instead, we're pursuing ways of statically linking translations in the correct language. If that's not possible we fall back to loading all languages eagerly.
This is why we chose _not_ to ship lazy-loading in our i18n library [ParaglideJS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs). Instead, we're pursuing ways of statically linking translations in the correct language. If that's not possible we fall back to loading all languages eagerly.
4 changes: 2 additions & 2 deletions inlang/guides/how-to-inlang-app/how-to-inlang-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@ const updatedMessageData = /* your updated message data */;
inlang.query.messages.update({ args: updatedMessageData });
```

These functions internally handle the loading and saving of messages according to your defined plugin (e.g., [JSON](/m/ig84ng0o/plugin-inlang-json), [i18next](/m/3i8bor92/plugin-inlang-i18next), [Inlang message format](/m/reootnfj/plugin-inlang-messageFormat)).
These functions internally handle the loading and saving of messages according to your defined plugin (e.g., [JSON](https://inlang.com/m/ig84ng0o/plugin-inlang-json), [i18next](https://inlang.com/m/3i8bor92/plugin-inlang-i18next), [Inlang message format](https://inlang.com/m/reootnfj/plugin-inlang-messageFormat)).

## 3. Working with Lint Rules

[Lint rules](/c/lint-rules) are crucial for maintaining code quality and consistency. In your Inlang app, you can leverage lint rules to ensure that your localization messages adhere to specific standards. For example, let's explore working with the [`snakeCaseId`](/m/gkerinvo/messageLintRule-inlang-snakeCaseId) lint rule.
[Lint rules](/c/lint-rules) are crucial for maintaining code quality and consistency. In your Inlang app, you can leverage lint rules to ensure that your localization messages adhere to specific standards. For example, let's explore working with the [`snakeCaseId`](https://inlang.com/m/gkerinvo/messageLintRule-inlang-snakeCaseId) lint rule.

This lint rule checks whether your message id's are in a snake case format or not.

Expand Down
Loading

0 comments on commit 0f242ca

Please sign in to comment.