TGViewer
DocOps DocOps @docops · 4.27K subscribers
Post #59 79

Forwarded from Заметки на техдирском via @like

Про локализацию софта
https://www.youtube.com/watch?v=mIwkvkwq96o

К моему удивлению новое обильное многочисленное поколение разработчиков, сталкиваясь с задачами по локализации используют в основном методы костыльно-ориентированного программирования. Так как эти задачи сами по себе и без выбора инструментария весьма непросты и требуют аккуратности, такие костыльные решения ещё больше вгоняют проекты в сложное для поддержки решение.

Самым первым систематичным и удобным подходом к решению задачи стал GNU GetText: https://ru.wikipedia.org/wiki/Gettext, хранение переводов в .po файлах или их модификациях.

За ним подтянулись аналогичные решения на практически всех платформах. Это или нативные решения на уровне стандартных классов, как сделано в Android и iOs или дополнительные библиотеки, как в многочисленных скриптовых и не только языках:

* Android - https://developer.android.com/guide/topics/resources/localization

* iOs -https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html

* php/Symphony - https://symfony.com/doc/current/components/translation.html, включающий в себе массу провайдеров поставщиков переводов, в том числе и https://api.symfony.com/4.0/Symfony/Component/Translation/Loader/MoFileLoader.html

После внедрения этого решения разработчики получают в едином месте все необходимые лексемы для переводов. Но с этого встаёт задача о поддержке этих переводов в актуальном состоянии переводчиками и менеджерами.

Задача эта настолько непроста и зависит от множества людей и факторов, что, например, телеграмму пришлось даже запустить собственную платформу для переводов: https://translations.telegram.org/

Если же свою платформу разрабатывать не хочется, есть готовые решения:


* https://crowdin.com/
* https://gitlocalize.com/
* https://poeditor.com/
* https://localise.biz/

Они умеют экспортировать/импортировать в любые форматы, в т.ч. те, которые используются в профессиональных программах для переводчиков, и не всегда это .po

Так, например, для андроида вместо .po файлов используется аналог strings.xml, а для ios - Localizable.strings

Немаловажным качеством этих платформ являются удобные интерфейсы и разделении прав для переводчиков и менеджеров, позволяющие им заниматься своей работой, а не программированием.

Итого, true way для локализации является использование gettext или аналогов в стыковке с платформой по менеджменту переводов, умеющей экспортировать переводы в нужные форматы.
More from @docops
  1. Nov 12, 2024Чему я научился: софт-скиллы, пост 2/N. Прошел первый модуль курса по софт-скиллам и у мен…
  2. Nov 5, 2024Встретил замечательную фразу. Человек спрашивает, можно ли использовать OneDrive в качеств…
  3. Sep 26, 2024Чему я научился: софт-скиллы, пост 1/N. Есть такое довольно универсальное правило: чтобы ч…
  4. Sep 26, 2024Чему я научился в этом году Год выдался очень насыщенным: я делал совершенно новые для мен…
  5. Aug 19, 2024Как я выгорел У меня долгое время было ощущение, что надо сжать булки, ещё немного поработ…
  6. Jun 26, 2024Ну и где бездушная машина неправа?
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →