Správičky 2 799 Blogy 945 Fórum 18 557

SqlLocalizer core 2.0

photo
core
27. 11. 2017 6:53:36
Body: 140
Najaktívnejší č.: 84

SqlLocalizer core 2.0

resource mi funguje ok ,ale co by ste mi odporucili mam tabulku chcem raz zobrazit bud anglicky text  alebo slovensky podla vyberu z menu.

CREATE TABLE Persons (
    ID int,
   slovensky varchar(255),
   anglicky varchar(255)
    );

[Reakcia]

photo
harrison314
27. 11. 2017 9:57:49
Body: 1085
Najaktívnejší č.: 24

RE: SqlLocalizer core 2.0

To si musis poriesit sam podla aktulanheo nastevnia cultury.

[Reakcia]

photo
Liero
27. 11. 2017 17:43:33
Body: 9355
Najaktívnejší č.: 6

RE: SqlLocalizer core 2.0

Sposob ktory si si vybral je zdanlivo najjednoduchsi (najjednoduchsia schema) ale je menej neprakticky na pouzitie. A praktickost pouzitia je dolezitejsia ako pociatocna jednoduchost.


Neprakticke je to preto, ze vyberat stlpec na zaklade nejakeho parametru (aktualneho jazyka) je tazsie ako pouzit tento parameter iba vo where podmienke, ale da sa to napr takto:

SELECT ID, CASE WHEN @cultureParam = 'EN-us' THEN Anglicky ELSE Slovensky END as 'Preklad'
FROM Persons

 

Ale co v pripade ze budes chciet pridat novy jazyk? Budes menit kazdy tabulku a kazdy select?

 

Tu je alternativny sposob: 

SELECT People.*, LocalizedResources.Value
FROM People
INNER JOIN LocalizedResources ON People.ResourceID = LocalizedResources.ResourceID
WHERE Culture=@cultureParam

Toto sa da dalej zjednodusit tak ze si vytvoris db funkciu ktora ti vrati preklad:

SELECT ID, dbo.Localize(ResourceID, @cultureParam)
FROM People

 

Pripadne mozes pouzit XML, alebo JSON stlpec v People tabulke a rovnako si vies spravit db funkciu na preklad

 

 

 

 

[Reakcia]



Najaktívnejší užívatelia
1. 37750 b. photo vlko
2. 21315 b. photo T
3. 15955 b. photo spigi
4. 15450 b. photo Anonymous
5. 11120 b. photo dudok
6. 9355 b. photo Liero
7. 6885 b. photo siro
8. 6245 b. photo slavof
9. 5355 b. photo duracellko
10. 4445 b. photo xxxmatko