

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456Internationalization (i18n) Guidelines:78Message Structure:9- Store all text content in `@/i18n/locales/[locale]/*.json`10- Use descriptive message keys in SNAKE_CASE11- Include placeholders with $PLACEHOLDER$ syntax12- Add descriptions for translators in message files13- `console.log` don't need add i18n, only for UI text display on screen1415```16# For server component17import { createTranslation } from '@/i18n/server';18const { t } = await createTranslation('home');1920# For client component21'use client'22import { useTranslation } from '@/i18n/client';23const { t } = useTranslation('install');24```2526Message Format:27```json28"footer": {29 "slogan": "Build something amazing.",30 "copyright": "© {{year}} Your Company. All rights reserved.",31 "sections": {32 "services": "Services",33 "support": "Support",34 "aboutus": "About Us",35 "legal": "Legal"36 },37 "navigation": {38 "services": {},39 "support": {40 "pricing": "Pricing",41 "userManual": "Documentation"42 },43 "aboutUs": {44 "team": "Our Team"45 },46 "legal": {47 "privacy": "Privacy Policy",48 "terms": "Terms of Service"49 }50 }51 },52```5354Implementation:55- Use i18n translation functions for all user-facing text56- Never hardcode text strings in components57- Handle RTL languages with appropriate CSS58- Support fallback locales5960Best Practices:61- Keep messages concise and clear62- Use semantic keys (e.g., WELCOME_MESSAGE vs MSG_001)63- Maintain consistent terminology across translations64- Handle pluralization properly65- Consider cultural differences in formatting dates, numbers, and currencies66- Test UI with different language lengths67
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ai.mdc · 6 | Cursor rules | no sections | 16/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/breadcrumb.mdc · 6 | Cursor rules | ui | 16/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/comment.mdc · 6 | Cursor rules | lint-formatstyletypesdocs | 66/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/postgresql.mdc · 6 | Cursor rules | styledo-not | 65/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/typescript.mdc · 6 | Cursor rules | style | 40/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ui-style.mdc · 6 | Cursor rules | styleui | 29/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursor/rules/ui.mdc · 6 | Cursor rules | ui | 36/100 | today | |
| leaperone/nextjs-i18n-prisma-authjs-tailwindcss-template.cursorrules · 6 | .cursorrules | style | 38/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 46 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/leaperone-nextjs-i18n-prisma-authjs-tailwindcss-template-cursor-rules-i18n)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.