-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Uses `@lit/localize-tools` and `@lit/localize` * This adds localization support for Lit components. * Added storybook document. * Listens for `html` element's `lang` attribute with mutation observer. * Not initialized by default, instructions added to storybook. * Output mode is set to **runtime**, meaning that it has to be capable of changing runtime by rerendering components. * Added localization support for: * Select * Pagination Closes #398 --------- Co-authored-by: Aykut Saraç <[email protected]>
- Loading branch information
1 parent
75104c0
commit 7a6cea3
Showing
14 changed files
with
420 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,4 @@ storybook-static/ | |
.octane-ci/ | ||
.bin/ | ||
.docksal/ | ||
src/generated/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
import { Meta } from '@storybook/blocks'; | ||
|
||
<Meta title="Documentation/Localization" /> | ||
|
||
# Localization | ||
|
||
Baklava comes equipped with built-in support for localization in both English (`en`) and Turkish (`tr`). It essentially examines the `lang` attribute of the `html` element and configures the locale accordingly. In the absence of a specified `lang` attribute, it defaults to English. | ||
To initialize localization, insert the following script at the head of your HTML file: | ||
|
||
```html | ||
<html lang="tr"> | ||
<head> | ||
<script type="module" src="https://cdn.jsdelivr.net/npm/@trendyol/[email protected]/dist/localization.js"></script> | ||
</head> | ||
|
||
<body> | ||
... | ||
</body> | ||
</html> | ||
``` | ||
|
||
Utilizing a mutation observer, modifications to the lang attribute will automatically trigger updates across all localized components, seamlessly adapting them to the new language setting. | ||
|
||
## Submitting New Translations or Improvements | ||
|
||
If you wish to contribute new translations or enhancements to existing ones, kindly submit a pull request on GitHub. The translations can be found in the [translations](https://github.com/Trendyol/baklava/tree/next/translations) folder. | ||
|
||
To add a new translation, follow these steps: | ||
|
||
<ol> | ||
<li>Add the language short code to `lit-localize.json`.</li> | ||
<li>Execute `npm run localize:extract` to extract the new language file.</li> | ||
<li>Update the newly created file in the translations folder.</li> | ||
<li>Execute `npm run localize:build` to generate the new language file.</li> | ||
</ol> | ||
|
||
Submit a new pull request with the aforementioned changes. | ||
|
||
## Adding New Localized Texts | ||
|
||
To include localized texts, adhere to the following guidelines: | ||
|
||
* A component should have `@localized()` added to its decorator. | ||
* The `msg` function should possess a description in the format: *"bl-component: description of the message"*. | ||
* The `msg` function should feature a default value in English. | ||
* No property should have a default value in English; instead, it should be defined elsewhere in the code, preferably in the render section. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"$schema": "https://raw.githubusercontent.com/lit/lit/main/packages/localize-tools/config.schema.json", | ||
"sourceLocale": "en", | ||
"targetLocales": ["tr"], | ||
"tsConfig": "./tsconfig.json", | ||
"output": { | ||
"mode": "runtime", | ||
"outputDir": "./src/generated/locales", | ||
"localeCodesModule": "./src/generated/locale-codes.ts" | ||
}, | ||
"interchange": { | ||
"format": "xliff", | ||
"xliffDir": "./translations/" | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.