Development #71477
multilinguisme, filtrer sur les chaines utilisée par une démarche précise
0%
Description
Soit pour des questions de priorité, soit parce qu'on ne veut simplement pas tout traduire, il serait utile de pouvoir filtrer la liste des chaines à traduire sur une démarche.
History
Updated by Frédéric Péters about 1 month ago
- Assignee set to Frédéric Péters
Pierre, question SQL, dans la table des traductions il y a une colonne locations (character varying[]), dans laquelle les endroits où la chaine se trouve sont repris, ça donne par exemple {forms/351/}, ou {forms/209/fields/1/,forms/209/fields/6/,forms/208/fields/10/}, ou {workflows/176/status/6/,workflows/177/status/7/,workflows/173/status/8/}.
Quelle requête pour obtenir les lignes qui ont un élément de la colonne locations qui matche un préfixe donné ? i.e. je voudrais faire une recherche sur "forms/209/" et obtenir la ligne du deuxième exemple ci-dessus.
À la base j'imaginais que je pouvais juste dupliquer et avoir une colonne base_locations mais je me dis qu'il y a sans doute une requête SQL qui peut marcher avec l'existant.
Updated by Pierre Ducroquet about 1 month ago
Cette première version n'est pas indexable, on pourrait creuser plus si nécessaire, on parle de quels volumes de données ?
test=# create table translatable_message(string text, locations text[]); CREATE TABLE Time: 38.484 ms test=# insert into translatable_message values ('aaa', ARRAY['forms/123/toto', 'forms/321/tutu']); INSERT 0 1 Time: 2.031 ms test=# insert into translatable_message values ('bbb', ARRAY['forms/789/toto', 'forms/42']); INSERT 0 1 Time: 10.109 ms test=# select * from translatable_message where exists (select 1 from unnest(locations) v where v LIKE 'forms/789/%'); string | locations --------+--------------------------- bbb | {forms/789/toto,forms/42} (1 row)
Updated by Frédéric Péters about 1 month ago
Pour le premier site concerné par le multilinguisme, ce que je vois en recette est très léger, ~600 lignes avec une moyenne de 2 éléments dans le tableau locations.
En local où j'ai beaucoup de choses, ~7000 lignes et une moyenne de 2,5.
Sur un gros site de recette où ça a été évoqué, ~6000 lignes et une moyenne de 3.
Updated by Pierre Ducroquet about 1 month ago
Frédéric Péters a écrit :
Pour le premier site concerné par le multilinguisme, ce que je vois en recette est très léger, ~600 lignes avec une moyenne de 2 éléments dans le tableau locations.
En local où j'ai beaucoup de choses, ~7000 lignes et une moyenne de 2,5.
Sur un gros site de recette où ça a été évoqué, ~6000 lignes et une moyenne de 3.
Ok donc on ne va pas se passer la rate au court bouillon, pour 6000 lignes, je suis même pas sûr qu'il sortirait une lecture d'index…