com um clique
cacomi-i18n
Reactive Translation (i18n) and hardcoded text standards for Cacomi.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Reactive Translation (i18n) and hardcoded text standards for Cacomi.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Reglas para generar imágenes de la marca Cacomi, asegurando la inclusión del logo oficial.
Convención para el uso de la carpeta archivos_locales_no_git, destinada a archivos de trabajo, datos exportados y recursos temporales que no deben subirse al repositorio.
Protocol for daily updates to the recommended menu and other periodic content. Trigger: When the user requests a "daily menu update" or modifies `astro_src/constants/recommendedMenu.ts`.
Standards and strategies for offline capabilities, network detection, and caching fallback in Cacomi.
Ensures application changes comply with Terms & Conditions, Privacy Policy (GDPR/ARCO), and data protection standards. Trigger: Before merging PRs, when modifying data storage (db/cookies), or adding user-facing disclaimers.
Estándares y patrones de seguridad, integración con Koyeb, Recharts y moderación para el Panel de Administrador.
Baseado na classificação ocupacional SOC
| name | cacomi-i18n |
| description | Reactive Translation (i18n) and hardcoded text standards for Cacomi. |
Cacomi supports multiple languages and uses a reactive t object provided by a Zustand store via React Context.
SettingsContext.jsx file rather than hardcoding it in the component.useSettings hook to load translations.SettingsContext.jsx immediately.context/SettingsContext.jsx.S object).es (Spanish), en (English), and fr (French), add the new translation key logically grouped (e.g., inside common, auth, feed, settings, etc.).import { useSettings } from '@context/SettingsContext';
export function ExampleComponent() {
const { t } = useSettings();
// GOOD: Reactive and safe fallback
return (
<button>{t.common?.save || 'Guardar'}</button>
);
// BAD: Hardcoded text
// return <button>Guardar</button>;
}
Astro files .astro run on the server and do not directly subscribe to the client-side Zustand store.
If an Astro page must display reactive translation strings (e.g., the 404 page or Policy pages), extract the translated elements into a React Client Component ("use client") and inject it into the Astro page using the client:load directive.
---
import { TranslatedComponent } from '@components/TranslatedComponent';
---
<!-- Ensure it runs reactively on the client -->
<TranslatedComponent client:load />
Toast notifications must also be translated:
import { useSettings } from '@context/SettingsContext';
import { useToast } from '@context/ToastContext';
export function useExampleHook() {
const { t } = useSettings();
const { showToast } = useToast();
const doAction = () => {
showToast(t.common?.success || 'Operación exitosa', 'success');
};
}