Commit Graph

4309 Commits

Author SHA1 Message Date
Nik Clayton 9f908cfb7b
refactor: Convert `AccountSelectionListener` to `fun interface` (#1118)
`AccountSelectionListener` only has one method; converting to a Kotlin
`fun interface` simplifies the calling code.
2024-11-20 19:50:04 +01:00
Nik Clayton 632282d0e2
fix: Prevent crash when showing account chooser (#1117)
Chooser dialog could start before any accounts have loaded. Fix by
collecting the account flow and waiting for the first emission (convert
the flow to shared instead of state so there's no initial empty list).

Guard against the potential for a similar issue when fetching
notifications.

Order the list of accounts with active account first so that code that
skips it by ignoring the first item works correctly.
2024-11-20 19:28:29 +01:00
Nik Clayton 5c048311b2
refactor: Ensure copying text experience is consistent (#1115)
Previous code was inconsistent about whether or not a notification toast
was shown after copying text (contrary to platform guidelines), and
there was some code duplication.

Fix this with a new `ClipboardUseCase` with a `copyTextTo` method that
handles copying text to the clipboard and showing a message afterwards
(depending on platform level).
2024-11-20 14:51:24 +01:00
Nik Clayton 9ffd89b666
feat: Show extra a11y actions for trending links and suggested accounts (#1114)
Extend the "suggested accounts" accessibility actions to include any
mentions in the account's bio. Links, mentions, and hashtags are now
shown with a button to easily copy them.

Extend the "trending links" accessibility actions with a new "copy link"
action.

Consolidate common functionality in to the new
`PachliRecyclerviewAccessibilityDelegate` base class.
2024-11-20 12:47:43 +01:00
Aindriú Mac Giolla Eoin 64a3f1dc40 fix(l10n): Update Irish translations
Currently translated at 100.0% (727 of 727 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/ga/
2024-11-20 12:08:19 +01:00
Nik Clayton f2ed6a0dab
fix: Ensure items in accessibility dialogs are clickable (#1112)
The copy button meant that some dialogs did not return the item click.

Fix this by having the adapter listen for clicks and forward them on.
Pre-emptively move the adapter to core.ui, as it's going to be useful
for the other accessiblity delegates.

Fixes #1108
2024-11-19 15:04:22 +01:00
Nik Clayton 654a81a136
refactor: Convert account relationship API calls to use ApiResult (#1109) 2024-11-18 17:34:52 +01:00
Nik Clayton 313cf7b26b
refactor: rename `filterAction` property to `contentFilterAction` (#1107)
`IStatusViewData.filterAction` was the `FilterAction` to apply to the
status based on the status' content.

As new filter options will apply filters based on the account that sent
the status, rename to `contentFilterAction` so it's easy to distinguish
between the two.
2024-11-17 13:28:24 +01:00
Juan M Sevilla d6a1dc2c2f fix(l10n): Update Spanish translations
Currently translated at 100.0% (727 of 727 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-11-16 08:13:15 +01:00
Juan M Sevilla ea5b93a15a fix(l10n): Update Spanish translations
Currently translated at 99.4% (723 of 727 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-11-15 08:54:53 +01:00
Languages add-on e2a67c15a2 feat(l10n): Added Norwegian Nynorsk translation 2024-11-15 08:54:53 +01:00
Languages add-on b87a6856e0 feat(l10n): Added Norwegian Nynorsk translation 2024-11-15 08:54:53 +01:00
Languages add-on d7664874db feat(l10n): Added Norwegian Nynorsk translation 2024-11-15 08:54:53 +01:00
Juan M Sevilla e1463a11a5 fix(l10n): Update Spanish translations
Currently translated at 99.3% (722 of 727 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-11-15 08:54:53 +01:00
Nik Clayton 8e22a4e557
test: Fix ViewThreadViewModel flakiness (#1099)
Some tests were assuming the uiState would transition from .Loading to
.Success, without considering there might be a .LoadingThread
intermediate step. Cater for that to prevent test flakes.
2024-11-13 23:36:28 +01:00
Nik Clayton 467ae349b7
fix(l10n): Update Irish translation (#1095)
Originally from https://github.com/aindriu80, but had some formatting
placeholder errors that broke lint.
2024-11-13 23:10:23 +01:00
Nik Clayton 37169d96c5
fix: Don't crash on relationship severance events (#1092)
Previous code was missing the JSON name of the event, so it wasn't
present when it should have been, resulting in a crash.

Also, the Mastodon documentation is incorrect about the relationship
count, which is instead represented as two properties, one for followers
and one for following. So model that, and display them separately in the
UI.

Fixes #1086
2024-11-13 14:51:03 +01:00
Nik Clayton 710e209e34
refactor: Ongoing work to remove the `activeAccount` idiom (#964)
Continue the work to remove the "activeAccount" idiom.

- Uses a new PachliAccount type through most of the app. This holds
information that was previously accessed separately (e.g., content
filters, lists) in one place. The information is loaded when the app
launches or the active account switches.

- Fetching data when the account is switched / loaded simplifies error
handling, as more code can now assume the data has already been loaded.
If it hasn't the code path is simply unreachable.

- This opens up the possibility of "acting as one account while logged
in as another". E.g., have two accounts, and be logged in to one account
and boost a post you've seen from your other account.

- Add a database migration to populate existing accounts with default
data when the user updates the app.

- Refactor code that used those list and filter repositories to get the
data from the PachliAccount instead. New local and remote data sources
are implemented, and the list and filter repositories mediate between
those sources.

- Start a ViewModel for MainActivity, which includes:
  - Sending user actions as UiAction objects
  - Providing a flow of uiState for MainActivity to react to
  - Remove most uses of SharedPreferencesRepository from MainActivity
  - Show messages about errors that occur when logging in

- Refactor intent routing in MainActivity to make the logic clearer.

- Add new `core.data` types to push more `core.network` types out of the
UI code
  - `core.data.model.MastodonList` for `core.network.model.MastoList`
  - `core.data.model.Server` for `core.network.model.Server`

- Continue the work to send the Pachli account ID to the code that uses
it.
  - Most view models now get the account ID via assisted injection.
- QueuedMedia now includes the AccountEntity so it can operate with any
account. Modify the `uploadMedia` API call to include explicit
authentication details.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 11:45:16 +01:00
Weblate (bot) e63ee8f834
fix(l10n): Translations update from Hosted Weblate (#1063)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
Co-authored-by: Kalle Kniivilä <kalle.kniivila@gmail.com>
2024-11-01 18:09:25 +01:00
renovate[bot] 4431260985
fix(deps): update androidx.work to v2.10.0 (#1072)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.work:work-testing](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.9.1` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-testing/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-testing/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-testing/2.9.1/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-testing/2.9.1/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.work:work-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.9.1` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-runtime-ktx/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-runtime-ktx/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-runtime-ktx/2.9.1/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-runtime-ktx/2.9.1/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMzUuMiIsInVwZGF0ZWRJblZlciI6IjM4LjEzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-11-01 17:18:41 +01:00
renovate[bot] e595c2fd78
fix(deps): update dependency com.ibm.icu:icu4j to v76 (#1067)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.ibm.icu:icu4j](https://icu.unicode.org/)
([source](https://redirect.github.com/unicode-org/icu)) | `75.1` ->
`76.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.ibm.icu:icu4j/76.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.ibm.icu:icu4j/76.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.ibm.icu:icu4j/75.1/76.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.ibm.icu:icu4j/75.1/76.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>unicode-org/icu (com.ibm.icu:icu4j)</summary>

###
[`v76.1`](https://redirect.github.com/unicode-org/icu/compare/release-75-1...release-76-1)

[Compare
Source](https://redirect.github.com/unicode-org/icu/compare/release-75-1...release-76-1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMzUuMiIsInVwZGF0ZWRJblZlciI6IjM4LjEzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-11-01 13:31:31 +01:00
Nik Clayton 8b192ab18d
change: Bump compileSdk to 35 (#1070) 2024-10-31 19:38:22 +01:00
Nik Clayton cdbeb8929c
refactor: Use k parameter to deleteFirstKStatuses (#1065) 2024-10-30 15:17:39 +01:00
Nik Clayton abfd3240bd
fix: Don't lose images / captions when editing with failed uploads (#1054)
Previous code would remove image attachments from the compose editor if
there was a problem uploading or updating them.

This caused a particular problem with image captions. You could attach a
valid image, then write a caption that was too long for the server. The
server would reject the status, and the status was saved to drafts.

Then you open the draft, which tries to upload the image again with a
too-long caption. The upload is rejected, and the image, along with the
caption, is removed.

Fix this.

- Change `QueuedMedia` to track the upload state as a `Result<_,_>`, so
any error messages are preserved and available to the UI.

- The different `Ok` types for the upload state contain the upload
progress percentage (if appropriate) or the server's ID for the uploaded
media.

- Change `ProgressImageView` to accept the upload state `Result`. If the
result is an error the image is drawn with a red overlay and white
"error" icon.

- If an upload is in an error state allow the user to click on it. That
shows a dialog explaining the error, and provides options to edit the
image, change the caption, etc.

- When changing the caption make the API call to change it on the server
(if the attachment has been uploaded). This makes the user aware of any
errors sooner in the process, so they can correct them.

Fixes #879
2024-10-30 14:33:16 +01:00
Nik Clayton ec52df3d61
chore: Prepare release 2.8.3 (versionCode 23) (#1061) 2024-10-29 18:56:04 +01:00
Weblate (bot) 04d98ae616
fix(l10n): Translations update from Hosted Weblate (#1056)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
2024-10-29 15:43:23 +01:00
Nik Clayton a03ca432fa
feat(l10n): Add Lithuanian to the locale config (#1059) 2024-10-29 15:31:56 +01:00
Nik Clayton 8c28318474
fix: Retain task state for MainActivity and ComposeActivity (#1055)
Some users report that returning to the `ComposeActivity` loses content
they've entered and returns to `MainActivity`. I can't reproduce this,
but it's possible that Android is clearing the task state and returning
to the root activity (`MainActivity` in this case).

Set `alwaysRetainTaskState` to true to keep the activity stack, and
hopefully prevent this from happening.
2024-10-27 12:38:34 +01:00
Nik Clayton 67fe600f2c
Revert "fix: Don't lose images / captions when editing with failed uploads"
This reverts commit 7abd74ad88.
2024-10-26 22:21:33 +02:00
Nik Clayton 7abd74ad88
fix: Don't lose images / captions when editing with failed uploads
Previous code would remove image attachments from the compose editor
if there was a problem uploading or updating them.

This caused a particular problem with image captions. You could attach
a valid image, then write a caption that was too long for the server.
The server would reject the status, and the status was saved to drafts.

Then you open the draft, which tries to upload the image again with a
too-long caption. The upload is rejected, and the image, along with the
caption, is removed.

Fix this.

- Change `QueuedMedia` to track the upload state as a `Result<_,_>`,
so any error messages are preserved and available to the UI.

- The different `Ok` types for the upload state contain the upload
progress percentage (if appropriate) or the server's ID for the
uploaded media.

- Change `ProgressImageView` to accept the upload state `Result`.
If the result is an error the image is drawn with a red overlay and
white "error" icon.

- If an upload is in an error state allow the user to click on it.
That shows a dialog explaining the error, and provides options to
edit the image, change the caption, etc.

- When changing the caption make the API call to change it on the
server (if the attachment has been uploaded). This makes the user
aware of any errors sooner in the process, so they can correct them.
2024-10-26 22:19:14 +02:00
Nik Clayton 3a18451307
fix: Ensure caption field is always visible (#1052)
Constrain caption image height so the caption field is always visible.
Allow for at least 4 lines of space to enter the caption.
2024-10-25 14:30:21 +02:00
Kalle Kniivilä 87c58a8a4e fix(l10n): Update Finnish translations
Currently translated at 100.0% (726 of 726 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-10-24 22:47:26 +02:00
Nik Clayton e7068da7e5
feat: Show text counter on caption dialog, request focus (#1045)
Previous layout didn't enable the character counter for entered text, so
it was difficult for the user to see how much they had used.

Fix that. To get the layout to play nicely switch to a ConstraintLayout
with a chain to split the dialog roughly 50/50 between the image and the
caption views.

While I'm here:

- Remove the margins around the image, so it's clearer, and is more
consistent with the "set focus" dialog.
- Set focus on the description immediately, so the keyboard pops up.
- Remove focusability from the image, since the user shouldn't be able
to interact with it.
2024-10-24 15:21:16 +02:00
Juan M Sevilla 8a649393d9 fix(l10n): Update Spanish translations
Currently translated at 100.0% (724 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/es/
2024-10-23 16:00:27 +02:00
Kalle Kniivilä 41595d63f9 fix(l10n): Update Finnish translations
Currently translated at 100.0% (724 of 724 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/fi/
2024-10-23 16:00:27 +02:00
Anonymous 33e1881dd5 fix(l10n): Update Chinese (Simplified Han script) translations
Currently translated at 71.7% (518 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/zh_Hans/
2024-10-23 16:00:27 +02:00
Anonymous bef1d47982 fix(l10n): Update Vietnamese translations
Currently translated at 71.7% (518 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/vi/
2024-10-23 16:00:27 +02:00
Anonymous 0027de1319 fix(l10n): Update Ukrainian translations
Currently translated at 71.3% (515 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/uk/
2024-10-23 16:00:27 +02:00
Anonymous 371f53a50e fix(l10n): Update Turkish translations
Currently translated at 71.4% (516 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/tr/
2024-10-23 16:00:27 +02:00
Anonymous 5f44989b90 fix(l10n): Update Swedish translations
Currently translated at 76.3% (551 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/sv/
2024-10-23 16:00:27 +02:00
Anonymous de7f188479 fix(l10n): Update Portuguese (Brazil) translations
Currently translated at 76.0% (549 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/pt_BR/
2024-10-23 16:00:27 +02:00
Anonymous 8fa4e271e7 fix(l10n): Update Occitan translations
Currently translated at 71.3% (515 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/oc/
2024-10-23 16:00:27 +02:00
Anonymous 1c64500a09 fix(l10n): Update Dutch translations
Currently translated at 76.7% (554 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nl/
2024-10-23 16:00:27 +02:00
Anonymous 3d407cbbdc fix(l10n): Update Norwegian Bokmål translations
Currently translated at 99.5% (719 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/nb_NO/
2024-10-23 16:00:27 +02:00
Anonymous 4ca7540850 fix(l10n): Update Japanese translations
Currently translated at 76.0% (549 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/ja/
2024-10-23 16:00:27 +02:00
Anonymous e35d9d8791 fix(l10n): Update Italian translations
Currently translated at 75.3% (544 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/it/
2024-10-23 16:00:27 +02:00
Anonymous 040f8237d5 fix(l10n): Update Icelandic translations
Currently translated at 71.1% (514 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/is/
2024-10-23 16:00:27 +02:00
Anonymous f7114432b9 fix(l10n): Update Hungarian translations
Currently translated at 71.1% (514 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/hu/
2024-10-23 16:00:27 +02:00
Anonymous 737dad1acb fix(l10n): Update Galician translations
Currently translated at 99.5% (719 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/gl/
2024-10-23 16:00:27 +02:00
Anonymous 3bf80165be fix(l10n): Update Gaelic translations
Currently translated at 71.3% (515 of 722 strings)

Translation: Pachli/App : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/app-main/gd/
2024-10-23 16:00:27 +02:00