Expand i18n locales and improve reviews UI

Add many new language packs with RTL support, refresh brand assets, and harden review rendering with tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
michilis
2026-08-21 05:06:58 +02:00
co-authored by Cursor
parent 1c5df18e81
commit 47e6537dde
51 changed files with 15291 additions and 246 deletions
+5 -2
View File
@@ -175,6 +175,9 @@ export function formatters(t: Translator): Formatters {
/** Locale-free, so it lives here beside the rest rather than in two places. */
export function starString(rating: number | null): string {
if (rating === null) return '☆☆☆☆☆';
const filled = Math.round(rating);
return '★'.repeat(filled) + '☆'.repeat(Math.max(0, 5 - filled));
// Ratings are integers 0 to 5 in the data; anything else is clamped rather than
// trusted, so a stray fractional or out-of-range value can never emit a malformed
// row (six stars, negative repeat counts, a half glyph).
const filled = Math.min(5, Math.max(0, Math.round(rating)));
return '★'.repeat(filled) + '☆'.repeat(5 - filled);
}