frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: Lokilizer – free tool for translating apps from two source langs to any

https://github.com/XAKEPEHOK/lokilizer
6•XAKEPEHOK•6h ago
Our use case: our app has Russian (our native language) and English. We needed to quickly and easily add more languages (as requested by clients). Our translation files were a mess: duplicated strings, concatenation instead of placeholders, different string order in ru/en files, trailing spaces, and much more.

So I wrote a helper tool to fix all of this. Now, adding a new language takes just 40 minutes and $2. It worked so well that I cleaned up the project and released it as open source.

# Key feature:

Translation into new languages happens from two source languages at once: the primary (Russian, in our case) and the secondary (English, for us). The secondary language isn’t strictly required, but highly recommended. No matter how many other languages you have, only the primary and secondary languages get sent to the LLM context for translation.

By the way, the context also includes nearby strings and a glossary (more on that below), and the prompt is designed so the LLM first comments what the string is, where it’s used, and only then translates it. This combination, based on my tests, dramatically improves translation quality.

# About translations:

- Supported formats: for now, only JSON (flat & structured) + i18next-style pluralization, but it’s easy to add new formats.

- Pluralization: supports both cardinal and ordinal forms. Example:

{ "key_one": "1 file", "key_other": "{{count}} files" }

- Placeholders: ${likeJs}, {{doubleCurve}}, {singleCurve} — you can add new formats easily. Preferred format is set per project.

- Order of strings is preserved! Important both for meaning and for LLM.

- Multiline strings: supports both \r and \n (configurable).

- String comments: you can add explanations, stored only in the app. By default, they’re generated by LLM.

- Suggested translation: you can provide a recommended translation separately (e.g., from a professional translator or AI Suggest).

- Bulk or single translation, with LLM selection per language.

- Reuse of translations: for bulk translation, already translated identical strings are reused.

- Old strings/translations aren’t deleted but kept in the DB. This partly covers branching scenarios in git, when some branches already have new translations, some don’t. Nothing gets lost.

# String validation

When we started seriously dealing with translation and localization, we quickly realized our translation files were a total mess. Not just untranslated strings, but also obsolete translations (strings deleted from the primary language), places where placeholders were replaced with string concatenation, translations where the primary (Russian) used “:”, but the secondary (English) didn’t, or line breaks existed only in one. Even cases where the primary had a placeholder but the secondary forgot it.

All these cases are now checked, and any uploaded/translated string gets a Warning flag if:

- The translation string is empty

- There are leading or trailing spaces

- String contains multiple consecutive spaces

- The translation is identical to the primary or secondary (with exceptions for email, api, ip, url, uri, id)

- A placeholder is missing that exists in the primary language

- The translation has a placeholder that doesn’t exist in the primary

- Number of line breaks (\r or \n) differs between primary and translation

- Number of colons : differs between primary and translation

- Pluralized value missing or extra for the language

- Pluralized values differ in line breaks or colons

Regardless of validation, the user can manually mark a string as verified, allowing flexible filtering and mass translation control.

Gifs and more info at GitHub: https://github.com/XAKEPEHOK/lokilizer/

Most Influential Database Papers

https://rmarcus.info/blog/2023/07/25/papers.html
1•CharlesW•2m ago•0 comments

Trump's NASA budget could cede solar system to China, scientists warn

https://www.washingtonpost.com/science/2025/07/08/nasa-science-missions-at-risk/
1•bookofjoe•2m ago•1 comments

Show HN: Track the AI-generated code in your repo

https://github.com/acunniffe/git-ai
1•addcn•3m ago•0 comments

Bash 5.3 — significant new features

https://lwn.net/Articles/1029079/
3•michaelsbradley•5m ago•0 comments

A new dimension of database design

https://typedb.com/blog/a-new-dimension-of-database-design/
1•eatonphil•10m ago•0 comments

The Death and Life of the Straight White Man's Novel

https://www.nytimes.com/2025/07/03/arts/straight-white-male-novelists.html
1•pseudolus•12m ago•1 comments

AI Is Bigger Than You Think

https://hjortur.substack.com/p/ai-is-bigger-than-you-think
3•hjortureh•13m ago•0 comments

The Machine for Making the Machine

https://excamera.substack.com/p/the-machine-for-making-the-machine
1•jamesbowman•13m ago•0 comments

Scotland's underwater turbine spins for 6 years, boosting tidal energy

https://www.ctvnews.ca/sci-tech/article/underwater-turbine-spinning-for-6-years-off-scotlands-coast-is-a-breakthrough-for-tidal-energy/
2•speckx•13m ago•0 comments

Lichess mobile app

https://lichess.org/mobile
1•RockstarSprain•13m ago•0 comments

X-Master as Foundation: Can We Lead on Humanity's Last Exam?

https://arxiv.org/abs/2507.05241
1•Leary•14m ago•0 comments

SUSE launches new European digital sovereignty supportto meet surging demand

https://www.zdnet.com/article/suse-launches-new-european-digital-sovereignty-support-service-to-meet-surging-demand/
1•CrankyBear•14m ago•0 comments

GlobalFoundries to Acquire MIPS

https://mips.com/press-releases/gf-mips/
3•mshockwave•14m ago•0 comments

What is AGI? Nobody agrees, and it's tearing Microsoft and OpenAI apart

https://arstechnica.com/ai/2025/07/agi-may-be-impossible-to-define-and-thats-a-multibillion-dollar-problem/
4•merksittich•16m ago•1 comments

G+D Netcetera used Rama to 100x the performance of a product used by millions

https://blog.redplanetlabs.com/2025/04/22/how-gd-netcetera-used-rama-to-100x-the-performance-of-a-product-used-by-millions-of-people/
1•tosh•17m ago•0 comments

Flowchart (Part 2)

https://files.catbox.moe/ttelb9.png
1•lihaciudaniel•18m ago•0 comments

TurnFormal: Theorem Prover Written in Rust

https://github.com/Turnersoft/turn-formal
1•adamnemecek•19m ago•0 comments

Ukraine urges investigation into alleged Russian chemical weapons use

https://www.reuters.com/world/ukraine-urges-investigation-into-alleged-russian-chemical-weapons-use-2025-07-08/
2•c420•20m ago•0 comments

Anyone else tired of the AI hype?

4•d00mB0t•20m ago•0 comments

Content authenticity initiative in the age of AI

https://contentauthenticity.org/
1•andsoitis•21m ago•0 comments

AnyBlox: A Framework for Self-Decoding Datasets [pdf]

https://gienieczko.com/anyblox-paper
4•nvais•22m ago•0 comments

Notes on Growing Old(er)

https://www.ian-leslie.com/p/27-notes-on-growing-older
2•jger15•23m ago•0 comments

Show HN: Agentic AI for Procurement

https://ubiai.tools/agentic-ai-for-procurement-a-comprehensive-guide-for-modern-businesses/
1•Mesterniz•24m ago•0 comments

Show HN: JD Vance Boarding Passes for Airport Checkin

https://vance.darefail.com/
1•jimhi•24m ago•0 comments

Intel Cuts More Than 500 Jobs in Oregon as Part of Layoff Plan

https://www.bloomberg.com/news/articles/2025-07-08/intel-cuts-more-than-500-jobs-in-oregon-as-part-of-layoff-plan
2•toomuchtodo•25m ago•1 comments

The Site of the Jonestown Massacre Opens to Tourists. Some Ask Why

https://www.nytimes.com/2025/07/03/world/americas/jonestown-guyana-tourists.html
1•johnshades•25m ago•0 comments

How the One Big Beautiful Bill Impacts High Earning FAANG Employees

https://www.faangfire.com/p/one-big-beautiful-bill-faang-employee
1•skadamat•25m ago•0 comments

Scira – a minimalistic AI-powered search engine

https://github.com/zaidmukaddam/scira
1•oldfuture•25m ago•0 comments

SoftBank-Backed Ola in Crisis Mode a Year After Blockbuster IPO in India

https://www.bloomberg.com/news/articles/2025-07-07/softbank-backed-ola-in-crisis-mode-a-year-after-blockbuster-ipo-in-india
2•Brajeshwar•25m ago•1 comments

Caching

https://planetscale.com/blog/caching
2•milar•25m ago•0 comments