По-компонентный vs централизованный i18n

Подход по компонентам — не новое понятие. Например, в экосистеме Vue vue-i18n поддерживает [i18n SFC (Single File Component)]( https://vue-i18n.intlify.dev/guide/advanced/sfc.html ). Nuxt также предлагает [переводы на уровне компонента]( https://i18n.nuxtjs.org/docs/guide/per-component-translations ), а Angular использует похожий паттерн через свои [Feature Modules]( https://v17.angular.io/guide/feature-modules ). Даже в Flutter-приложении часто встречается следующий паттерн:

https://habr.com/ru/articles/984764/

#i18n #i18next #react #javascript #webdevelopment

Single file components | Vue I18n

Internationalization plugin for Vue.js

Eleventy (11ty) string-based translation with i18next

This article shows how you can make an Eleventy (11ty) website translatable on a string-by-string basis, supporting translation platforms such as Weblate.

rubenwardy's blog

Công cụ intlayer giúp tự động kiểm tra và điền các bản dịch bị thiếu trong i18next bằng AI (ChatGPT, Claude,...). Tích hợp CI/CD để đảm bảo không có key dịch mới nào bị thiếu. #i18next #translation #localization #dichthuat #phanmem

https://www.reddit.com/r/SaaS/comments/1oi5gfx/how_to_test_and_replace_any_missing_translations/

Công cụ #intlayer mới giúp #lập_trình_viên quản lý bản dịch #i18next hiệu quả. Tự động kiểm tra và phát hiện các khóa dịch còn thiếu, sau đó điền vào bằng #AI (hỗ trợ ChatGPT, Claude...). Có thể tích hợp vào quy trình CI/CD để đảm bảo chất lượng bản dịch. Tiết kiệm thời gian đáng kể!

#i18next #Translation #AI #Development #DevTools #BảnDịch #LậpTrình #CôngCụDev #TựĐộngHóa

https://www.reddit.com/r/programming/comments/1oi5f42/how_to_test_and_replace_any_missing_translations/

[Перевод] Руководство по переводу React-приложений для i18n (альтернативы i18next и React-Intl)

Интернационализация (или i18n) — это одна из тех функций, которые кажутся необязательными, пока они действительно не понадобятся. Как только вы захотите выйти за пределы одного языка или региона, внезапно вашему коду приходится поддерживать несколько локалей, текст с направлением справа налево и культурно-специфичные форматы. Если вы искали решения, то, скорее всего, уже встречали i18next или react-intl . Оба инструмента мощные, но у них есть свои недостатки: высокий порог входа, множество шаблонных JSON-файлов или сложная интеграция с TypeScript. В этой статье мы разберём:

https://habr.com/ru/articles/950244/

#SEO #i18n #i18next

Руководство по переводу React-приложений для i18n (альтернативы i18next и React-Intl)

Введение Интернационализация (или i18n) — это одна из тех функций, которые кажутся необязательными, пока они действительно не понадобятся. Как только вы захотите выйти за пределы одного языка или...

Хабр

Переводите i18n JSON файлы с помощью ИИ

Интернационализация (i18n) лежит в основе создания по-настоящему глобального ПО. Традиционно перевод i18n JSON-файлов выполнялся либо людьми, либо инструментами машинного перевода. Перевод, основанный на искусственном интеллекте, выводит точность и удобство для разработчиков на новый уровень. Давайте разберёмся почему.

https://habr.com/ru/articles/943078/

#i18n #i18next #l10n #internationalization #localization #json #translation #перевод #перевод_с_английского #машинный_перевод

Переводите i18n JSON файлы с помощью ИИ

Интернационализация (i18n) лежит в основе создания по-настоящему глобального ПО. Традиционно перевод i18n JSON-файлов выполнялся либо людьми, либо инструментами машинного перевода. Перевод, основанный...

Хабр

Проблеми з i18next

Вчора в підтримку Сінтри надійшов лист про те, що у нас поламані листи підтвердження підписки. По-перше, дякую автору, бо небагато хто б потрудився це зробити. По-друге, чи це ще один випадок недостачі моніторингу та насамперед тестування в проєкті двох людей? Авжеж! Бо помилка сиділа роки з два. (І ні, це далеко не перша підписка за цей час.)

Помилка крилася в неправильному шаблоні для i18next. В нас там цікаве рішення для шаблонів листів. Технічно вони використовують "Handlebars", але на практиці шаблони стають просто рядками перекладу для i18next.

Причин було відразу дві. Одна прямо зовсім проста — неправильний префікс ключа. Знаєте, в i18next можна написати підписка на $t(subscription_interval.{{interval}}) та підставити туди, наприклад, subscription_interval.monthly. Дуже зручно. Але на це немає перевірок — якщо такого ключа немає в словнику, i18next підставить сам ключ. Що й відбулося, бо я банально переплутав subscription_interval та subscription_period.

Зате рівно тільки що дізнався, що є налаштування відсутніх ключів — в тому числі обробник missingKeyHandler, який міг би кинути помилку.

Друга причина — в моєму форматувальнику дат формат читається з того ж словнику. Дуже зручно (та може варто окремої розповіді.) Але. Словник же ж потребує обраної мови! На фронтенді це працює зрозуміло: у нас є мова користувача, вона встановлена глобально. А на бекенді немає "глобально обраної мови", бо бекенд надсилає пошту до всіх користувачів. Тому виходило так, що в пошті цей форматувальник не знав мови, використовував хибний формат (знову без помилки...) та видавав сміття.

Розвʼязалося все передачею мови параметром lng: format = i18next.t(format_name, {lng: userLanguage}).

Отак, наче нічого складного, але години дві витратив. До речі, дуже допомогло те, що в мене принаймні були скрипти для генерації тих листів.

#Sintra #i18next #JavaScript

Sintra

Sintra helps you manage your budget easily and shows how much money you have for today.

i18n и l10n: Почему разработчикам стоит об этом знать — и как может помочь ИИ

Интернационализация (i18n) и локализация (l10n) часто кажутся проблемами “на потом” — пока внезапно не становятся срочными. Как разработчики, мы все делали что-то вроде: <button>Order now</button> Или в шаблоне: <p>Welcome back, {{ user.name }}!</p> Всё работает — пока команда не говорит: «Мы выходим на рынок Узбекистана, Казахстана и Ближнего Востока в следующем квартале.» И тут внезапно каждая хардкодная строка превращается в технический долг. Разработчики в панике вытаскивают строки, дизайнеры чинят поломанные макеты, тестировщики ловят недостающие переводы, и релиз откладывается. Вот тогда и наступает момент задаться вопросом: что такое i18n и l10n — и почему это важно?

https://habr.com/ru/articles/934278/

#i18n #i18next #l10n #internationalization #localization #json #translation

i18n и l10n: Почему разработчикам стоит об этом знать — и как может помочь ИИ

Интернационализация (i18n) и локализация (l10n) часто кажутся проблемами “на потом” — пока внезапно не становятся срочными. Как разработчики, мы все делали что-то вроде: <button>Order...

Хабр

Lokilizer — бесплатный инструмент для перевода приложений с двух языков на любые другие

Наш кейс: в приложении есть русский (наш нативный) и английский языки. Надо быстро и просто добавлять другие (по запросам от клиентов). В файлах с переводами был хаос: дублирование строк, конкатенация вместо плейсхолдеров, разный порядок строк в файлах переводов для ru/en, висячие пробелы и многое другое. Я решил написать вспомогательный инструмент, который помог решить все эти проблемы. Сейчас мы добавляем новый язык буквально за 40 минут и 2$. Все получилось настолько хорошо, что решил причесать и выложить в open-source Главная фишка: перевод на новые языки делается сразу с 2х языков (в нашем случае с ru и en) что на практике делает его супер-качественным

https://habr.com/ru/articles/925110/

#i18n #i18next #локализация #интернационализация

Lokilizer — бесплатный инструмент для перевода приложений с двух языков на любые другие

Наш кейс: в приложении есть русский (наш нативный) и английский языки. Надо быстро и просто добавлять другие (по запросам от клиентов). В файлах с переводами был хаос: дублирование строк, конкатенация...

Хабр

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов. Сразу предупреждаю, что статья будет холиварной, всех хейтеров прошу в комменты, предлагайте решения со ссылкой на публичные кейсы.

https://habr.com/ru/articles/822001/

#hackaton #boilerplate #react #nextjs #refine #i18next #antdesign

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

typical startup thinking about technology Давайте попробуем собрать свой идеальный boilerplate для full-stack разработки. В статье мы будем постепенно собирать шаблон для быстрого запуска стартапов....

Хабр