This fixes list is complementary and inspired from T375653 .
### Mislenaous (I)
See also T375653 .
- ✅ Modularization of LocutorStep.vue :
- ✅ Create a `LocationSearch.vue` component
- ✅ Create a `LanguageSearch.vue` component
- ✅ Code cleanup, item-specific ids
{F66144634}
- ✅ T399390 Step 1: Set speaker's license as required
- ✅ Fix stalemate at Step 1. Was tricky !! Vue's `ref()` and `computed()` are different. (H)
{F66144635}
{F66698515}
- ✅ T354569 Add metrics js service Matomo (H)
- ✅ T399400 Step 4: LocalListDialog.vue input placeholder as `List:{iso3}/`
- ❌ T400552 Step 5: Fix audio overlap
- ❌ T372069 Step 4: SPARQL generator also accept ?definition
- ❌ T384833 Refactor lists' preprocessing functions
### Mislenaous (II) : i18n
- ✅ T406855 Upgrade AppNotice for i18n support.
- ✅ T399388: Add UI language selector (P)
- ✅ T399388: Make LanguageSelector.vue with persistent memory via localStorage(H)
- ✅ T399388: Switch LanguageSelector.vue to [[ https://github.com/hugolpz/Sparql2Data/blob/main/data/WD-Lingualibre_App-i18n.json | autonyms ]] [diff](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/commit/70e3f884fcb9bfab2b2e1bdda746472b8dc669be)
- ✅ Update left-side menus (H)
- ✅ Proficiencies, licences, and others
- ✅ T406992 Add i18n dir=rtl support
- ✅ T397834 When user switch UI language, refetch and refresh wikidata-sourced labels
- ✅ T406758 Step 1: Make LanguageSearch.vue a component with solid i18n support
- ✅ T397834 Ensure select element's item display their labels in the user-chosen UI language
- ✅ Step 1: Make LocationSearch.vue based on LanguageSearch.vue
- ✅ T375653 Add Lingua Libre Django to translatewiki.net
- ✅ T407063 i18n call for translation on translatewiki.net
### Mislenaous (III)
- ✅ T406753 Step 6: Review file naming convention / pass username to upload2commons
- ✅ T397834 When user switch UI language, refetch and refresh wikidata-sourced labels
- ✅ T406758 Step 1: Make LanguageSearch.vue a component with solid i18n support
- ✅ Step 1: Make LocationSearch.vue based on LanguageSearch.vue
- ✅ T407725 Lingualibre.org : fix sitenotice i18n for current annoucement
- ✅ T405919 Oauth variables and url to clean up
### Mislenaous (IV)
#### Deployment
Together with @michael_wmfr we push for deployment:
- ✅ WMFR server deployment
- ✅ Investigate mobile access block, fix -> IPv6 is required (solved with help from Discord community)
- ✅ Database migration script : run, test, fix, iterate
- ✅ T419398 `API axios error 400/403`
- T419182 Request creation of lingualibre VPS project
T375653 Add Lingua Libre Django to translatewiki.net
#### [Coding side](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/commits/main) :
- ✅ Additional code improvements, app & .org
- ✅ T419402 Add call to translation button to LanguageMenu, app & .org
- ✅ T419406 Add optional `gender` field : restore possibility of gender biases reports
- ✅ T419404 Conditionally provide locutors with no records with delete button
- ✅ T419407 Add url parameter `uselang={iso} for minority-friendly url sharing : ease link sharing among marginalized communities
- ✅ T419410 Bring WM Commons uploads errors back to browser console : eases debugging (with Michael)
- ✅ database model consolidation for `gender` and `license` : better values, better contrains
- ✅ add db migration script support for wikidata lexeme (with VIGNERON)
#### Community side:
- ✅ T407063 [Second] i18n call for translation on translatewiki.net : now 20 and 12 solid languages support above 80%, respectively.
- ✅ T419400 Create a RenameOrReplace.js userscript
### Cleaning MRs backlog
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/65 | MR!65]] by Aditya : clean up .env & related.
- ✅ [closed] [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/70 | MR!70 ]] by an external dev : feat: Added bulk upload endpoint for multiple recordings
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/72 | MR!72 ]] Accessibility: Use CdxField wherever possible ▶️ has built-in accessibility such as LTR / RTL.
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/73 | MR!73 ]] by Tacsipacsi, merged with edits !
T399374
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/74 | MR!74 ]] by Aditya, merged !
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/79 | MR!79 ]] by Yug, merged ! Locutor license required.
- ✅ [#81](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/81) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/81/diffs)] Add warning for LocutorStep's name
- ✅ Handle [#82](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/82) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/82/diffs)] Add warning for LocutorStep's year_of_birth
- ✅ Handle [#84](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/84) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/84/diffs)] Consolidate languages data : review of the SPARQL queries, update data, add update script
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/86 | MR!86 ]] by Aditya, merged ! Resilient uploads.
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/87 | MR!87 ]] by Yug, merged ! Cleaner SDC editing
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/88 | MR!88 ]] by Yug, merged ! i18n expansion +40 locales (to review), add dir=rtl support.
### Medium and major
- ✅ T406859 Step 1,2: Keyboard navigation support consolidation.
- ✅ P: T344221 "Remove words previously recorded by this locutor"
- ✅ A: T406743 Step 6: Consolidate upload cycle
- ✅ A: T406743 Step 6: Consolidate overwrite data cycle
- [ ] T384826 Mariadb database fails on Chinese characters
- [ ] T406759 Add `insert_record()` to import records to llv3 database
### Consolidation
Not for this cycle.
- [ ] T399379: Ensure resilient uploads server side
### Migration
- ✅ Prepare locutors migration, align proficiencies