Commit Graph

3569 Commits

Author SHA1 Message Date
Narasimha-sc 9b5486bfa3 ui: fix translation errors and revert Turkish vandalism (PR #7206 review)
Corrects issues found reviewing the incoming translations across 20 languages.

CRITICAL:
- Turkish: revert 8 vandalized strings to faithful translations — the
  "Open external link?" security dialog, app-upgrade prompt, relay-status
  labels, and the "Privacy: for owners and subscribers" line had been
  replaced with joke/offensive text.
- Ukrainian: fix a files/media privacy toggle that showed an unrelated
  "chat with admins" string.

HIGH/MEDIUM: badge voice/tense inversions (uk, vi, ro, de), meaning
mistranslations (fr, es, id, vi, zh-Hans, ja, nl, ru), the Danish relay-bar
"/" separator loss, re-added role-name quotes (de, es, it, ar, ru, zh-Hans,
zh-Hant), restored dropped \n line breaks and sentences (id), and typos
(hu, es, uk, ro, cs, bg).

Placeholders, XML well-formedness, and .strings validity verified intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 18:00:49 +00:00
Evgeny Poberezkin bbe4ffaca6 fix android translations 2026-07-06 16:58:02 +01:00
Evgeny Poberezkin 500dc7677e process localizations 2026-07-06 16:42:30 +01:00
Evgeny Poberezkin f31da2680d Merge branch 'master' into weblate/translations 2026-07-06 16:23:10 +01:00
Narasimha-sc e79b6ead11 desktop: fix Windows in-app updater corrupting install (#7105) (#7136)
* desktop: fix Windows in-app updater corrupting install by exiting before the MSI runs

The Windows install path ran msiexec while the app was still running and waited for
it. The running JVM holds SimpleX.exe, the JRE and DLLs open, so the per-machine MSI
upgrade cannot replace them, defers to a reboot, and the install ends up broken - the
app fails to launch (#7105). Launch the installer and exit instead, so the files are
unlocked; the user reopens from the Start Menu. Also pass the path via the array form
of exec (fixes spaces in the path) and remove a leftover installer before the next
download, since the exiting app can no longer delete it itself.

* docs: plan justifying the Windows in-app MSI updater fix
2026-07-06 14:56:08 +01:00
Narasimha-sc 3b752ff749 fix: keep customized "Additional accent 2" color on theme import (#7134)
removeSameColors stored colors.primary in the primaryVariant2 slot instead
of colors.primaryVariant2, so importing a theme with a customized
primaryVariant2 ("Additional accent 2") replaced it with the primary
accent color. Fixed on both Android/desktop and iOS.
2026-07-06 14:54:55 +01:00
echoloji 752c45911f Translated using Weblate (Turkish)
Currently translated at 98.7% (2829 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/tr/
2026-07-06 15:45:56 +02:00
kkpanfilov ad8b77b25b Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
2026-07-06 15:45:52 +02:00
lazizkhalilov ced973c15e Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
2026-07-06 15:45:52 +02:00
Auri d58ff1b66e Translated using Weblate (Russian)
Currently translated at 97.9% (2807 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
2026-07-06 15:45:52 +02:00
Narasimha-sc 63eaf260a2 ui: fix SEInvalidMention when @mention is edited in place (#7018)
* android, desktop, ios: drop stale mention map entry when @name is edited in place

The compose-state mentions map was only pruned when fewer @name tokens were
parsed from the text than were in the map. Editing an inserted @Name token in
place (without re-picking from the picker) keeps the count at 1 while the
parsed name no longer matches the stored key, so the stale entry was sent and
the core rejected it with SEInvalidMention. Pruning now triggers whenever any
map key is absent from the parsed mention names; the modified token is then
sent as an unresolved formatted @ token.

* android, desktop, ios: filter mentions at send time so in-place edits round-trip

Treat the compose-state mentions map as a sticky cache of name -> memberId
bindings recorded by the picker. The previous removeUnusedMentions pruned
it on every text change, which dropped the binding the instant a letter was
removed from an inserted @name token. Now the map is no longer mutated by
text edits: memberMentions, the picker max-reached check, and the
mentionMemberName disambiguator all filter against the names currently
parsed from the message, so deleting and retyping the original characters
re-resolves the original member, and the SEInvalidMention error from an
in-place edit no longer occurs.

* android, desktop, ios: cap memberMentions at MAX so stale cache entries cannot overflow the server limit

With the sticky cache, manually typing an @name that happens to match a
stale cache entry could push memberMentions above maxSndMentions and have
the core reject the send with SEInvalidMention. The getter now walks
parsedMessage in text order and stops at MAX_NUMBER_OF_MENTIONS; later
@-tokens past the cap become visual-only formatting and the message still
goes through. Also hoists the iOS activeMentions computation out of the
per-row ForEach so it runs once per picker open rather than once per row.

* android, desktop, ios: simplify mention restoration to minimal surgical diff

Reverts the unnecessary mentionMemberName changes (the original
mentions.containsKey behaviour preserves bindings better than the
parsed-only variant), switches the picker checks to memberMentions.size
(no helper variable needed since the getter already caps at MAX), and
collapses the Kotlin memberMentions getter into a flat chain.

* android, desktop, ios: gate picker mention-id and max-reached banner by memberMentions

With the sticky cache, the picker's "currently bound member" highlight
and the showMaxReachedBox banner-suppression clause read mentions[name]
directly, so a stale cache entry made one row clickable (as a no-op) at
the MAX limit and could suppress the banner when the user is actually
adding a new mention. Both now gate the lookup by membership in the
capped memberMentions, restoring the pre-fix UX where at MAX all rows
are disabled and the banner shows when adding past the limit.
2026-07-06 14:45:45 +01:00
summoner001 2a63263bd5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2866 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/
2026-07-06 07:50:35 +00:00
jonnysemon 8a8ddf459d Translated using Weblate (Arabic)
Currently translated at 100.0% (2866 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/
2026-07-06 07:50:33 +00:00
ryokky3 ea181ff0da Translated using Weblate (Japanese)
Currently translated at 49.9% (1219 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/
2026-07-06 07:50:30 +00:00
Hosted Weblate user 54392 9f0862e4a7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.9% (2865 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/
2026-07-06 07:50:29 +00:00
Random 98799e7488 Translated using Weblate (Italian)
Currently translated at 100.0% (2866 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/
2026-07-06 07:50:27 +00:00
J. Lavoie 43a992255b Translated using Weblate (French)
Currently translated at 94.9% (2316 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-06 07:50:25 +00:00
mlanp 9e838f6f70 Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
2026-07-06 07:50:21 +00:00
J. Lavoie 864aae0339 Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
2026-07-06 07:50:19 +00:00
mlanp d5c9a3bcb1 Translated using Weblate (German)
Currently translated at 100.0% (2866 of 2866 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/
2026-07-06 07:50:17 +00:00
Evgeny 6150b35a2f core, ui: resolve untyped domains (#7198)
* core: resolve untyped domains

* CPError

* only add domain when it has link of correct type

* resolve first

* handle errors

* remove CPError

* update UI types

* remove unused name

Co-authored-by: Evgeny <evgeny@poberezkin.com>

* refactor connection plan

* kotlin: show domain and alternative chat, haskell tests for dual domains

* view/tests

* update kotlin

* dual domains accounting for business chats

* refactor, fix

* fix kotlin

* remove comment

* search

* add resolve mode

* local resolution

* refactor, bot types

* search both contact and channel by name

* fix

* fix searching business chats by name

* fix ui

* ios

* fix ios

* fix icon

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-07-06 08:50:03 +01:00
Evgeny Poberezkin 8495b6fbe1 ios: export localizations 2026-07-03 13:49:59 +01:00
Random 376df8ba3d Translated using Weblate (Italian)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/
2026-07-03 12:48:45 +00:00
J. Lavoie fd06e71848 Translated using Weblate (French)
Currently translated at 89.2% (2178 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:44 +00:00
J. Lavoie 2922d10390 Translated using Weblate (French)
Currently translated at 88.0% (2147 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:43 +00:00
cedev-1 9f8ba9a989 Translated using Weblate (French)
Currently translated at 87.5% (2136 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:43 +00:00
J. Lavoie 94578ae6ad Translated using Weblate (French)
Currently translated at 87.5% (2136 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:42 +00:00
J. Lavoie 64d62c8b7b Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
2026-07-03 12:48:42 +00:00
Rafi 533613e759 Translated using Weblate (Indonesian)
Currently translated at 95.4% (2713 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
2026-07-03 12:48:41 +00:00
SHE LINGZHAO e973421a5a Translated using Weblate (Japanese)
Currently translated at 99.0% (2815 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ja/
2026-07-03 12:48:41 +00:00
No name d733cace81 Translated using Weblate (Spanish)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
2026-07-03 12:48:40 +00:00
No name ea858319dc Translated using Weblate (Spanish)
Currently translated at 100.0% (2843 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
2026-07-03 12:48:39 +00:00
J. Lavoie 256c911681 Translated using Weblate (Italian)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/
2026-07-03 12:48:39 +00:00
J. Lavoie b99cc2d4c8 Translated using Weblate (French)
Currently translated at 85.4% (2084 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:38 +00:00
J. Lavoie a182508662 Translated using Weblate (German)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/
2026-07-03 12:48:38 +00:00
Hosted Weblate 7ac6d9bc3d Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/
2026-07-03 12:48:37 +00:00
Irnovi Albaweny e7aa06e832 Translated using Weblate (Indonesian)
Currently translated at 94.7% (2694 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
2026-07-03 12:48:37 +00:00
No name cb8da12eb2 Translated using Weblate (Spanish)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
2026-07-03 12:48:36 +00:00
Darío Hereñú 7d90bdcbb5 Translated using Weblate (Spanish)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
2026-07-03 12:48:35 +00:00
No name 2c92c673bd Translated using Weblate (Spanish)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/
2026-07-03 12:48:35 +00:00
Darío Hereñú 7219abe94f Translated using Weblate (Spanish)
Currently translated at 100.0% (2843 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
2026-07-03 12:48:34 +00:00
No name a196b94500 Translated using Weblate (Spanish)
Currently translated at 100.0% (2843 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/
2026-07-03 12:48:34 +00:00
Loping151 0696f4cd54 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hant/
2026-07-03 12:48:33 +00:00
Loping151 85ed08536a Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 98.7% (2808 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hant/
2026-07-03 12:48:33 +00:00
Loping151 3af1212ad4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/
2026-07-03 12:48:32 +00:00
J. Lavoie 90f6b51d0a Translated using Weblate (Italian)
Currently translated at 100.0% (2439 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/
2026-07-03 12:48:32 +00:00
J. Lavoie d5e8fa57b1 Translated using Weblate (French)
Currently translated at 80.8% (1972 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/fr/
2026-07-03 12:48:31 +00:00
Игорь Линчевский c639906437 Translated using Weblate (Russian)
Currently translated at 97.6% (2382 of 2439 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/
2026-07-03 12:48:31 +00:00
lazizkhalilov 1b991ba716 Translated using Weblate (Russian)
Currently translated at 97.5% (2774 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/
2026-07-03 12:48:30 +00:00
M Yusup Hamdani 73daab69bd Translated using Weblate (Indonesian)
Currently translated at 94.4% (2686 of 2843 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/
2026-07-03 12:48:29 +00:00