Commit Graph

54 Commits

Author SHA1 Message Date
Simon Prévost
15402bc114 Add project lint entry to ignore lint checks based on term, key, spelling rule
Update elixir deps and elixir 1.17
2024-08-13 11:17:17 -04:00
Simon Prévost
436bc1359e Use factori in tests 2024-03-21 21:36:48 -04:00
Simon Prévost
3dad6e0b4c Add copy on update option in version to allow version update to be mirrored in latest version 2024-03-03 15:12:39 -05:00
Simon Prévost
a8f8e34cb4 Fix container storage HTTP request commented out 2024-03-03 15:12:38 -05:00
Simon Prévost
88789980fc Refactor hook to unify in movement persister module 2024-03-03 15:12:37 -05:00
Simon Prévost
7f7b20604b Add translated advanced filter and fix uncorrect all null text 2024-01-23 07:29:41 -05:00
Simon Prévost
7dc0596d85 Update deps 2023-12-22 09:55:47 -05:00
Simon Prévost
5bbe9ba0ac Fix reviewers abilities and translated default to true for main language 2023-12-22 09:35:38 -05:00
Simon Prévost
cfe1e9ab9c Add translator role with 'translated' boolean state on a translation 2023-12-20 16:29:31 -05:00
Simon Prévost
d65ab1cd05 Fix uncorrect translation with text should update the text 2023-12-15 10:07:45 -05:00
Simon Prévost
12864e9f3e Fix conflicted field on version new operation 2023-12-12 14:01:59 -05:00
Simon Prévost
ebaa67ab36 Fix machine translation auto detect language 2023-11-23 14:24:36 -05:00
Simon Prévost
4fb0d20f61 Fix lint version filter on single lint and fix translations document scope on conflict on slave operation 2023-11-04 21:15:56 -04:00
Simon Prévost
772a596794 Add @adobe/styler to format all Elixir code 2023-08-24 22:09:31 -04:00
Simon Prévost
bfc502e5fa Fix export/format ordering, fix uniform border-radius, allow listing deleted documents, fix conflicts template hook 2023-08-24 21:51:03 -04:00
Simon Prévost
ee002f5b88 Remove dbg 2023-08-04 14:55:44 -04:00
Simon Prévost
fcef874263 Add sync lock version on projet to prevent race condition on sync 2023-08-04 14:55:44 -04:00
Simon Prévost
21d7e42766 Add revision deleter in worker to use infinite repo transaction timeout 2023-08-04 14:55:44 -04:00
Simon Prévost
72f3dea0fe Add AI assistant prompt 2023-04-28 15:50:15 -04:00
Simon Prévost
b6415e1510 New UI 2023-03-22 19:56:43 -04:00
Simon Prévost
6bc3274f42 Add machine translations on project sync 2023-03-14 13:16:39 -04:00
Simon Prévost
bb8979d325 Add api token create/revoke 2023-01-31 15:02:42 -05:00
Simon Prévost
70926dd492 Fix Rails formatter 2023-01-18 14:02:25 -05:00
Simon Prévost
4b142e7b23 wip 2022-12-16 08:56:46 -05:00
Simon Prévost
4efe980129
Add support for version sync/export/infos in CLI (#325) 2022-11-16 20:18:35 -05:00
Simon Prévost
a5667dd6eb Fix source translation on new slave 2022-08-29 08:30:50 -04:00
Simon Prévost
3325e5e9d8
Add batched SQL for insert/update operations (#306)
This introduce a new way of doing "migration" of data based on the
operation table. Before, we simply executed the SQL query as the
migration were run. Like for a "new" operation, we did an insert of a
"transactions" row and an update to the "operations" table _for each
entry in the synced file._ For a file containing 1000 keys, we did a
total of 2000 SQL queries.

After this commit, we only do 2 SQL queries (well 4 since we batch the
SQL params by 500). By aggregating operation like {:update_all,
operation.id, %{synced: true}}, we are able to batch the operations
efficiently.

This results in a much faster sync/add translations/correct/uncorrect
operations.
2022-08-29 07:50:55 -04:00
Simon Prévost
ffdb353848 Update NodeJS deps for webapp and cli 2022-02-28 11:41:08 -05:00
Simon Prévost
66f6d32b21 Fixes 2022-02-23 11:39:47 -05:00
Simon Prévost
43055188c3 Add default null option on new slave 2021-06-07 11:10:00 -04:00
Simon Prévost
e9ec74ef61 Add merge options on add translation to correct translation in the same operation 2021-06-04 16:12:33 -04:00
Simon Prévost
6cd211ee83 Update elixir 1.11.0 and OTP 23 2020-10-09 07:46:58 -04:00
Simon Prévost
cd92e2f79a Add batched sync/merge actions 2020-10-08 16:46:36 -04:00
Simon Prévost
67874cedbb Add HTML form for html valueType translation 2020-07-02 20:54:47 -04:00
Simon Prévost
b992ac5215 Fix gettext header serializer 2019-08-14 18:30:10 -04:00
Simon Prévost
1d300c308a Add version handling in sync and add translations operations 2019-04-21 14:02:44 -04:00
Simon Prévost
ae0df57dae
Add basic support for XLIFF 1.2 file format (#79)
![image](https://user-images.githubusercontent.com/464900/55203015-35c17980-51a0-11e9-8647-d91209c7b6de.png)

## Issue
📚 https://github.com/mirego/accent/issues/21

## Feature
This is a basic implementation of the XLIFF 1.2 format. This format is used heavily in a lot of translations related tool (and in XCode) so I may have missed some of the implementation details. But it’s a good start for someone who want to contribute to Accent 😉 

## Refactor
This format is a bit trickier than other since it required the master language to export the targets. We needed to refactor some module to use the master language in the serialization process. Also, not needed but cleaner, we wrap the document’s key `top_of_the_file_comment` and `header` inside a new struct `Language.Document`. This will become handy if we ever need to add an attribute to the document OR if we add a different attribute to the serialization input.

## Next steps
This format includes 2 new dependencies to handle XML encode and decode. _Why not use the same XML library used for the XML Android format?_ Because… \*drum roll\* The `<source>` XML tag when encoded by the `mochiweb_html` module is a self closing tag (per the HTML spec) 🥇 

Since those 2 new deps are required for the XLIFF format and can pretty print XML, we should use them _instead of `mochiweb`_ 🎉
2019-03-31 16:16:20 -04:00
Simon Prévost
0ba4d0474d wip 2019-01-09 08:01:19 -05:00
Simon Prévost
9a9b50e0d8 Add more tests and refactor scripts and endpoint 2019-01-06 22:41:53 -05:00
Simon Prévost
2a8512be87 Fix styles and sync type option 2018-12-22 14:37:34 -05:00
Simon Prévost
e0b24790e8 Refactor codes and UI with new standard 2018-12-12 20:05:57 -05:00
Simon Prévost
c6dbc084e1 Rename interpolations to placeholders 2018-12-12 19:57:34 -05:00
Benoit Ducharme
8ead83b52a Add interpolations to translation forms
Interpolations are strings automatically marked (based on the format) to
be replaced by the application at runtime. Those strings are meant to be
left unmodified and not translatable. The UI reflects that. The
interpolations shown to the user is always the master translation’s
ones. This is to clearly show on not translated content that maybe
interpolations uploaded after the correction were removed or added.
2018-12-12 19:57:34 -05:00
Simon Prévost
dbbadab99e Add Credo.Check.Readability.AliasOrder to credo config 2018-12-08 19:57:20 -05:00
Simon Prévost
53a0e5c8ac Refactor and adds credo env var check 2018-12-08 16:43:06 -05:00
Simon Prévost
b360e50339 Update Ecto and Phoenix deps 2018-12-08 15:21:42 -05:00
Simon Prévost
da82db5883 Fix credo 2018-12-08 15:12:45 -05:00
Simon Prévost
2f8c8a5522 Add sync type passive as a comparer in sync operation
The "sync_type" option can now be passed to the sync request to have a
different way to handle operations.

The new "passive" option will ignore all actions but the `new`, `renew`
and `remove`. It will ensure that when uploading a file, no translations
or master strings can be overwritten. It behaves the same way as the
existing merge_type "passive".
2018-12-08 15:12:45 -05:00
Simon Prévost
ae6043e292 Add plural and locked state for translations 2018-04-27 08:49:50 -04:00
Simon Prévost
6fd43e95cd Remove useless updated_at in Repo.update and invert conflicted and active count query 2018-04-24 20:05:24 -04:00