mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
update: add 57 DESIGN.md files from awesome-design-skills (#92)
* update: add 57 DESIGN.md files from awesome-design-skills * Update i18n coverage for added design systems --------- Co-authored-by: mrcfps <mrc@powerformer.com>
This commit is contained in:
co-authored by
mrcfps
parent
cbbab86fd0
commit
abaae96eb2
@@ -239,17 +239,85 @@ const DE_DESIGN_SYSTEM_SUMMARIES: Record<string, string> = {
|
||||
const DE_DESIGN_SYSTEM_CATEGORIES: Record<string, string> = {
|
||||
Starter: 'Starter',
|
||||
'AI & LLM': 'AI & LLM',
|
||||
'Bold & Expressive': 'Mutig & Ausdrucksstark',
|
||||
'Creative & Artistic': 'Kreativ & Künstlerisch',
|
||||
'Developer Tools': 'Entwickler-Tools',
|
||||
'Layout & Structure': 'Layout & Struktur',
|
||||
'Modern & Minimal': 'Modern & Minimal',
|
||||
'Morphism & Effects': 'Morphism & Effekte',
|
||||
'Productivity & SaaS': 'Produktivität & SaaS',
|
||||
'Professional & Corporate': 'Professionell & Corporate',
|
||||
'Backend & Data': 'Backend & Daten',
|
||||
'Design & Creative': 'Design & Kreativität',
|
||||
'Fintech & Crypto': 'Fintech & Krypto',
|
||||
'E-Commerce & Retail': 'E-Commerce & Handel',
|
||||
'Media & Consumer': 'Medien & Consumer',
|
||||
Automotive: 'Automotive',
|
||||
'Retro & Nostalgic': 'Retro & Nostalgisch',
|
||||
'Themed & Unique': 'Thematisch & Einzigartig',
|
||||
Uncategorized: 'Nicht kategorisiert',
|
||||
};
|
||||
|
||||
const DE_DESIGN_SYSTEM_IDS_WITH_EN_FALLBACK = [
|
||||
'agentic',
|
||||
'ant',
|
||||
'application',
|
||||
'artistic',
|
||||
'bento',
|
||||
'bold',
|
||||
'brutalism',
|
||||
'cafe',
|
||||
'claymorphism',
|
||||
'clean',
|
||||
'colorful',
|
||||
'contemporary',
|
||||
'corporate',
|
||||
'cosmic',
|
||||
'creative',
|
||||
'dashboard',
|
||||
'dithered',
|
||||
'doodle',
|
||||
'dramatic',
|
||||
'editorial',
|
||||
'elegant',
|
||||
'energetic',
|
||||
'enterprise',
|
||||
'expressive',
|
||||
'fantasy',
|
||||
'flat',
|
||||
'friendly',
|
||||
'futuristic',
|
||||
'glassmorphism',
|
||||
'gradient',
|
||||
'levels',
|
||||
'lingo',
|
||||
'luxury',
|
||||
'material',
|
||||
'minimal',
|
||||
'modern',
|
||||
'mono',
|
||||
'neobrutalism',
|
||||
'neon',
|
||||
'neumorphism',
|
||||
'pacman',
|
||||
'paper',
|
||||
'perspective',
|
||||
'premium',
|
||||
'professional',
|
||||
'publication',
|
||||
'refined',
|
||||
'retro',
|
||||
'shadcn',
|
||||
'simple',
|
||||
'skeumorphism',
|
||||
'sleek',
|
||||
'spacious',
|
||||
'storytelling',
|
||||
'tetris',
|
||||
'vibrant',
|
||||
'vintage',
|
||||
] as const;
|
||||
|
||||
const DE_PROMPT_TEMPLATE_CATEGORIES: Record<string, string> = {
|
||||
Infographic: 'Infografik',
|
||||
'Anime / Manga': 'Anime / Manga',
|
||||
@@ -646,7 +714,10 @@ const DE_PROMPT_TEMPLATE_COPY: Record<string, Partial<Pick<PromptTemplateSummary
|
||||
|
||||
export const GERMAN_CONTENT_IDS = {
|
||||
skills: Object.keys(DE_SKILL_COPY),
|
||||
designSystems: Object.keys(DE_DESIGN_SYSTEM_SUMMARIES),
|
||||
designSystems: [
|
||||
...Object.keys(DE_DESIGN_SYSTEM_SUMMARIES),
|
||||
...DE_DESIGN_SYSTEM_IDS_WITH_EN_FALLBACK,
|
||||
],
|
||||
designSystemCategories: Object.keys(DE_DESIGN_SYSTEM_CATEGORIES),
|
||||
promptTemplates: Object.keys(DE_PROMPT_TEMPLATE_COPY),
|
||||
promptTemplateCategories: Object.keys(DE_PROMPT_TEMPLATE_CATEGORIES),
|
||||
|
||||
@@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest';
|
||||
import { en } from './locales/en';
|
||||
import { LOCALES, LOCALE_LABEL, type Dict, type Locale } from './types';
|
||||
|
||||
const EXPECTED_LOCALES = ['en', 'de', 'zh-CN', 'zh-TW', 'pt-BR', 'es-ES', 'ru', 'fa'];
|
||||
const EXPECTED_LOCALES = ['en', 'de', 'zh-CN', 'zh-TW', 'pt-BR', 'es-ES', 'ru', 'fa', 'ja'];
|
||||
|
||||
function placeholders(value: string): string[] {
|
||||
const names: string[] = [];
|
||||
@@ -29,6 +29,7 @@ describe('i18n locales', () => {
|
||||
it('registers every supported locale in the language menu', () => {
|
||||
expect(LOCALES).toEqual(EXPECTED_LOCALES);
|
||||
expect((LOCALE_LABEL as Record<string, string>).de).toBe('Deutsch');
|
||||
expect((LOCALE_LABEL as Record<string, string>).ja).toBe('日本語');
|
||||
});
|
||||
|
||||
it('keeps locale dictionaries aligned with English keys and placeholders', async () => {
|
||||
|
||||
Reference in New Issue
Block a user