மாற்று பதிவேடு
என்ன புதிது.
அது கப்பல்கள் போல், தளத்தில் ஒவ்வொரு மேம்பாடு.
· kamo-marketing
Fully extract body strings from security, privacy, terms, gdpr, cookies, legal
· kamo-marketing
Fully extract body strings from careers, company, community, resources, roadmap
· kamo-marketing
Wire locale through dynamic fetches and add hash-based translation skip
- Forward locale param to SecurityService changelog API (page + route + client) - Forward locale param to KBService article/tree fetches (section + slug pages) - Forward locale param to subscription catalog API (pricing-catalog, pricing, offer, calculator pages) - Add hash-based translation skip in CI: only run translate step when en.json changes - Add messages/.translation-hash with current en.json SHA256 for baseline comparison
· kamo-marketing
Wire useTranslations into all client components
Replaces all hardcoded strings in every (pages)/*Client.tsx with t("key") calls using next-intl useTranslations. Covers 25 files: security, contact, demo, pricing, offer, calculator, and all previously-wired components (about, blog, careers, changelog, community, company, cookies, features, gdpr, kb, legal, privacy, product, resources, roadmap, sitemap, terms). Also expands messages/en.json with all missing keys for the new namespaces.
· APIService
Forward locale param to SecurityService on public subscription catalog endpoint
· InitializerService
Add translation tables for commit logs, KB articles, and subscription plans
· SecurityService
Add async translation for changelog and subscription plans, add locale-aware public APIs
· KBService
Add async translation for KB articles, add locale-aware public article APIs
· kamo-marketing
Expand messages/en.json with full page body copy coverage
Grew the translation catalogue from 172 keys (~12 namespaces) to 300+ keys across 26 namespaces, extracting every user-visible hardcoded English string from all client and server components: - about, features, security, contact, demo: CTAs, labels, placeholders, step titles, success/error states - blog, careers, community: dynamic list states, author labels, culture copy - changelog: stat bar labels (Total **************** filter chip labels, empty-state messages, show-more/less controls - roadmap: phase status labels (Launched/In Progress/Planned/Exploring) - pricing: billing toggle, add-on/bundle section headers, comparison table copy, FAQ title, pricing terms title, early-bird banner copy - offer: full early-bird offer page — promo code UI, countdown units, how-it-works steps, expiry/terms copy - calculator: ROI calculator labels, billing/plan selectors, summary, discount code UI - **************** page subtitles, table headers, GDPR badge, contact-legal CTA labels - resources, company, product, sitemap, helpCenter, kbArticle: hub-page card titles/descriptions, KB search placeholder, no-results/no-articles states, breadcrumb back labels, min-read, updated-date, in-this-section, no-content strings - common: shared cross-page strings (loadingMore, showMore/Less, backTo, minRead, updated, etc.) All 172 original keys preserved unchanged.
· kamo-shared-library
Add translation entities and repositories for CommitLog, KbArticle, SubscriptionPlan
- CommitLogTranslation + CommitLogTranslationId (PK: commit_log_id, locale) - KbArticleTranslation + KbArticleTranslationId (PK: article_uid, locale) - SubscriptionPlanTranslation + SubscriptionPlanTranslationId (PK: plan_id, locale) - CommitLogTranslationRepository, KbArticleTranslationRepository, **************** - TranslationLocales utility class (21 target locales) - OneToMany translation collections on CommitLog, KbArticle, SubscriptionPlan - Version bump: 1.0.0 -> 1.1.0
· kamo-marketing
Add tooltips and fix scroll behaviour on language selector
- Add englishName to LOCALE_CONFIG for all 22 locales - Add title={englishName} to each language button (desktop + mobile) so hovering shows the English name as a browser tooltip - Replace fixed maxHeight: 380 with calc(100vh - 140px) so the dropdown expands to fit all languages without scrolling on normal viewports, only scrolling when the viewport height is genuinely too short
· kamo-marketing
Replace offer badge with language selector in nav
Add a 2-column flag+name dropdown to the header navigation allowing users to switch between all 22 supported locales. Locale switching uses next-intl router.replace to stay on the current path. Mobile menu gets a collapsible language section with the same grid layout. Removes the prelaunch offer badge from both desktop and mobile nav.
· kamo-shared-library
Restore removed languages with translationSupported field
Add translationSupported boolean to LanguageType enum. Restore URDU, MARATHI, TELUGU, and GUJARATI (translationSupported=false). All 22 previously supported languages retain translationSupported=true.
· kamo-marketing
Implement next-intl i18n with 22 locales, translate script, and [locale] routing
· SecurityService
Add TranslateService to changelog public-projects list
· TranslateService
Initial TranslateService — Bergamot + LibreTranslate abstraction layer
· KlusterServices
Add LibreTranslate and Bergamot K8s deployments for i18n
· kamo-shared-library
Remove 4 unsupported translation languages from LanguageType
· kamo-internal
Add Open in Docs button for editing documents, spreadsheets, presentations
- New "Open in Docs" button (EditNote icon) in doc manager Actions column for .docx, .xlsx, .pptx, .odg, .doc, .xls, .ppt files - Opens document in Docs editor in a new tab via POST /api/docs/open/{imgId} - Existing Edit button renamed to "Edit PDF" for PDF annotation workflow - New /api/docs/open/[imgId] Next.js route proxying to DocsService backend - Widened Actions column to accommodate additional button
· DocsService
Rewrite WOPI/Docs to use Img/ImgDat, add Open in Docs endpoint
- WopiController now uses imgId (Long) instead of Document fileId (String) - DocumentService creates Img + ImgDat records instead of Document records - WOPI CheckFileInfo checks ImgShare for per-user read/write permissions - PutFile (save) triggers async PDF reconversion and thumbnail regeneration via ConversionService - New POST /api/docs/open/{imgId} endpoint for opening existing uploaded documents in Docs with access control and file type validation - Removes all references to the standalone Document entity
· kamo-shared-library
Remove standalone Document entity — all docs now use Img/ImgDat imaging system
The Document entity, DocumentRepository, and DocumentNotFoundException are removed. DocsService WOPI and Docs integration now operates entirely through the Img + ImgDat entities in the imaging pipeline.
· kamo-internal
Build integrated auto lead imports UI with full endpoint management
Complete rewrite of LeadAutoImportManager with production-ready features: - Endpoint CRUD with unique webhook URLs for 3rd-party lead vendors - Copy-to-clipboard endpoint URL generation - 4-tab manage dialog: Overview (stats, toggle), Field Mapping (table-based source-to-system field mapper with transformations), Queue (paginated payload viewer with status filtering and backlog processing), Settings (rate limits, payload size, delete) - 7 Next.js API proxy routes forwarding to SecurityService via APIService - Vendor/market/product cascading dropdowns, snackbar notifications, loading states, and responsive design
· DaemonService
Add Quartz job for automated lead intake payload processing
Adds LeadIntakeProcessingJob that runs every minute to process queued raw payloads from 3rd-party vendors. Applies configured field mappings, transformations (trim, capitalize, phone/email format, etc.), creates leads via LeadService, updates payload status, and logs processing runs. Registers job in QuartzConfig with configurable cron schedule.
· SecurityService
Add lead intake management and public receive controllers
Adds two controllers for the automated lead intake system: - LeadIntakeController: authenticated CRUD for intake endpoints, field mappings, payload queue management, backlog processing, and stats - LeadIntakeReceiveController: public endpoint that accepts 3rd-party lead submissions with Redis rate limiting, payload size enforcement, JSON flattening, and configurable enable/disable per endpoint
· APIService
Add public lead intake endpoint for 3rd-party lead submission
Adds LeadIntakePublicController at /api/public/lead-intake/{token} that accepts lead data in any format (JSON, form-urlencoded) from 3rd-party vendors and forwards to SecurityService for storage and processing. Uses unique UUID endpoint tokens for security — no API key required.
· kamo-shared-library
Add Lead Intake system entities, repos, DTOs, and service
Adds the complete data layer for the automated lead intake system: - 4 entities: LeadIntakeEndpoint, LeadIntakeFieldMapping, LeadIntakeRawPayload, LeadIntakeProcessingLog - 4 repositories with custom JPQL queries for processing unprocessed payloads - 6 DTOs for API request/response contracts - LeadIntakeService with full CRUD, payload storage, field mapping management, JSON flattening, and processing log lifecycle - LeadIntakePayloadStatus enum (RECEIVED, PROCESSING, IMPORTED, FAILED, DISCARDED)
· SecurityService
Add GET **************** endpoint using SQL count
· kamo-shared-library
Add **************** to CommitLogRepository
· kamo-marketing
Integrate kamo *** (proof-of-work) into contact form, demo form, and chat widget
- Add ***Provider reusable component wrapping Capcha-widget with dark theme styling - Contact form: auto-verify on focus, gate submission until verified - Demo form: auto-verify on focus during Phase 1, gate Continue button - Chat widget: start PoW when chat opens, show verification banner, disable send until verified - Vendor kamo-capcha-widget v3.0.2 as local dependency
· kamo-marketing
Add animated cookie consent banner with glassmorphism design
Floating bottom-left card with spring animations, essential/analytics cookie toggles, localStorage persistence, and a Cookie Settings link in the footer to re-open consent preferences.

உங்கள் உலகம் காத்திருக்கிறது.
நிமிடங்களில் இலவசமாகத் தொடங்கவும். நீங்கள் தயாராக இருக்கும் போது பொருட்களை சேர்க்கவும் - எந்த மாற்றமும் இல்லை, புதிய உள்நுழைவுகள் இல்லை.
எப்பொழுதும் இலவசம் — கடன் அட்டை தேவையில்லை