@@ -26,46 +26,75 @@ This focus helps guide our project decisions as a community and what we choose t
2626
2727## Table of Contents
2828
29- - [ Getting started] ( #getting-started )
30- - [ Prerequisites] ( #prerequisites )
31- - [ Setup] ( #setup )
32- - [ Development workflow] ( #development-workflow )
33- - [ Available commands] ( #available-commands )
34- - [ Project structure] ( #project-structure )
35- - [ Local connector CLI] ( #local-connector-cli )
36- - [ Mock connector (for local development)] ( #mock-connector-for-local-development )
37- - [ Code style] ( #code-style )
38- - [ TypeScript] ( #typescript )
39- - [ Server API patterns] ( #server-api-patterns )
40- - [ Import order] ( #import-order )
41- - [ Naming conventions] ( #naming-conventions )
42- - [ Vue components] ( #vue-components )
43- - [ Internal linking] ( #internal-linking )
44- - [ RTL Support] ( #rtl-support )
45- - [ Localization (i18n)] ( #localization-i18n )
46- - [ Approach] ( #approach )
47- - [ i18n commands] ( #i18n-commands )
48- - [ Adding a new locale] ( #adding-a-new-locale )
49- - [ Update translation] ( #update-translation )
50- - [ Adding translations] ( #adding-translations )
51- - [ Translation key conventions] ( #translation-key-conventions )
52- - [ Using i18n-ally (recommended)] ( #using-i18n-ally-recommended )
53- - [ Formatting numbers and dates] ( #formatting-numbers-and-dates )
54- - [ Testing] ( #testing )
55- - [ Unit tests] ( #unit-tests )
56- - [ Component accessibility tests] ( #component-accessibility-tests )
57- - [ Lighthouse accessibility tests] ( #lighthouse-accessibility-tests )
58- - [ Lighthouse performance tests] ( #lighthouse-performance-tests )
59- - [ End to end tests] ( #end-to-end-tests )
60- - [ Test fixtures (mocking external APIs)] ( #test-fixtures-mocking-external-apis )
61- - [ Submitting changes] ( #submitting-changes )
62- - [ Before submitting] ( #before-submitting )
63- - [ Pull request process] ( #pull-request-process )
64- - [ Commit messages and PR titles] ( #commit-messages-and-pr-titles )
65- - [ Pre-commit hooks] ( #pre-commit-hooks )
66- - [ Using AI] ( #using-ai )
67- - [ Questions] ( #questions )
68- - [ License] ( #license )
29+ - [ Contributing to npmx.dev] ( #contributing-to-npmxdev )
30+ - [ Goals] ( #goals )
31+ - [ Core values] ( #core-values )
32+ - [ Target audience] ( #target-audience )
33+ - [ Table of Contents] ( #table-of-contents )
34+ - [ Getting started] ( #getting-started )
35+ - [ Prerequisites] ( #prerequisites )
36+ - [ Setup] ( #setup )
37+ - [ Development workflow] ( #development-workflow )
38+ - [ Available commands] ( #available-commands )
39+ - [ Project structure] ( #project-structure )
40+ - [ Local connector CLI] ( #local-connector-cli )
41+ - [ Mock connector (for local development)] ( #mock-connector-for-local-development )
42+ - [ Code style] ( #code-style )
43+ - [ npmx name] ( #npmx-name )
44+ - [ TypeScript] ( #typescript )
45+ - [ Server API patterns] ( #server-api-patterns )
46+ - [ Input validation with Valibot] ( #input-validation-with-valibot )
47+ - [ Error handling with ` handleApiError ` ] ( #error-handling-with-handleapierror )
48+ - [ URL parameter parsing with ` parsePackageParams ` ] ( #url-parameter-parsing-with-parsepackageparams )
49+ - [ Constants] ( #constants )
50+ - [ Import order] ( #import-order )
51+ - [ Naming conventions] ( #naming-conventions )
52+ - [ Vue components] ( #vue-components )
53+ - [ Internal linking] ( #internal-linking )
54+ - [ Package routes] ( #package-routes )
55+ - [ Available route names] ( #available-route-names )
56+ - [ RTL Support] ( #rtl-support )
57+ - [ Localization (i18n)] ( #localization-i18n )
58+ - [ Approach] ( #approach )
59+ - [ i18n commands] ( #i18n-commands )
60+ - [ Adding a new locale] ( #adding-a-new-locale )
61+ - [ Update translation] ( #update-translation )
62+ - [ Country variants (advanced)] ( #country-variants-advanced )
63+ - [ Adding translations] ( #adding-translations )
64+ - [ Translation key conventions] ( #translation-key-conventions )
65+ - [ Using i18n-ally (recommended)] ( #using-i18n-ally-recommended )
66+ - [ Formatting numbers and dates] ( #formatting-numbers-and-dates )
67+ - [ Testing] ( #testing )
68+ - [ Unit tests] ( #unit-tests )
69+ - [ Component accessibility tests] ( #component-accessibility-tests )
70+ - [ Lighthouse accessibility tests] ( #lighthouse-accessibility-tests )
71+ - [ How it works] ( #how-it-works )
72+ - [ Running locally] ( #running-locally )
73+ - [ Configuration] ( #configuration )
74+ - [ Lighthouse performance tests] ( #lighthouse-performance-tests )
75+ - [ How it works] ( #how-it-works-1 )
76+ - [ Running locally] ( #running-locally-1 )
77+ - [ End to end tests] ( #end-to-end-tests )
78+ - [ Test fixtures (mocking external APIs)] ( #test-fixtures-mocking-external-apis )
79+ - [ Fixture files] ( #fixture-files )
80+ - [ Adding new fixtures] ( #adding-new-fixtures )
81+ - [ Environment variables] ( #environment-variables )
82+ - [ When tests fail due to missing fixtures] ( #when-tests-fail-due-to-missing-fixtures )
83+ - [ Testing connector features] ( #testing-connector-features )
84+ - [ Architecture] ( #architecture )
85+ - [ Vitest component tests (` test/nuxt/ ` )] ( #vitest-component-tests-testnuxt )
86+ - [ Playwright E2E tests (` test/e2e/ ` )] ( #playwright-e2e-tests-teste2e )
87+ - [ Submitting changes] ( #submitting-changes )
88+ - [ Before submitting] ( #before-submitting )
89+ - [ Pull request process] ( #pull-request-process )
90+ - [ Commit messages and PR titles] ( #commit-messages-and-pr-titles )
91+ - [ PR descriptions] ( #pr-descriptions )
92+ - [ Pre-commit hooks] ( #pre-commit-hooks )
93+ - [ Using AI] ( #using-ai )
94+ - [ 1. Never let an LLM speak for you] ( #1-never-let-an-llm-speak-for-you )
95+ - [ 2. Never let an LLM think for you] ( #2-never-let-an-llm-think-for-you )
96+ - [ Questions?] ( #questions )
97+ - [ License] ( #license )
6998
7099## Getting started
71100
@@ -416,7 +445,7 @@ npmx.dev uses [@nuxtjs/i18n](https://i18n.nuxtjs.org/) for internationalization.
416445- All user-facing strings should use translation keys via ` $t() ` in templates and script
417446- Translation files live in [ ` i18n/locales/ ` ] ( i18n/locales ) (e.g., ` en-US.json ` )
418447- We use the ` no_prefix ` strategy (no ` /en-US/ ` or ` /fr-FR/ ` in URLs)
419- - Locale preference is stored in cookies and respected on subsequent visits
448+ - Locale preference is stored in ` localStorage ` and respected on subsequent visits
420449
421450### i18n commands
422451
@@ -469,7 +498,7 @@ Check [Pluralization rule callback](https://vue-i18n.intlify.dev/guide/essential
469498
470499### Update translation
471500
472- We track the current progress of translations with [ Lunaria] ( https://lunaria.dev/ ) on this site: https://i18n.npmx.dev/
501+ We track the current progress of translations with [ Lunaria] ( https://lunaria.dev/ ) on this site: < https://i18n.npmx.dev/ >
473502If you see any outdated translations in your language, feel free to update the keys to match the English version.
474503
475504Use ` pnpm i18n:check ` and ` pnpm i18n:check:fix ` to verify and fix your locale (see [ i18n commands] ( #i18n-commands ) above for details).
0 commit comments