I18n: Porovnání verzí
Z Freenetis Wiki
Řádek 8: | Řádek 8: | ||
{| border="1" class="wikitable" | {| border="1" class="wikitable" | ||
− | |+ | + | |+ enum_types: |
! id !! type_id | ! id !! type_id | ||
− | | | + | | 1 || 1 (=např. typ člena) |
− | | 1 || 1 | + | | 2 || 1 |
− | | | + | | 3 || 1 |
− | | 2|| | + | | 4 || 2 (=např. typ kontaktu) |
+ | | 5 || 2 | ||
+ | | 6 || 2 | ||
|} | |} | ||
+ | Tabulka enum_types pouze "kategorizuje" jednotlivé hodnoty, uložené v sloupci id, do šuplíčků "typ člena", "typ kontaktu", ... atd. | ||
+ | |||
+ | Ke každé hodnotě id z této tabulky ještě musíme přiřadit řetězec a všechny jeho překlady, k čemuž potřebujeme další tabulku: | ||
− | |||
======== | ======== | ||
1 | 1 (=např. typ člena) | 1 | 1 (=např. typ člena) |
Verze z 17. 9. 2008, 21:34
Internacionalizace ve Freenetisu se týká 2 oblastí:
- řetězců, které jsou obsaženy ve zdrojových kódech - tato se provádí pomocí jazykových souborů v adresáři i18n
- řetězců v databázi - řetězce v databázi není ve většině případů nutné překládat. Výjimkou jsou výčtové typy - např. typy členů, zařízení, kontaktů, které lze editovat i přes webové rozhraní. Protože instalace Freenetis-u obsahuje základní hodnoty pro tyto typy, bylo nutné pro ně vymyslet i internacionalizaci.
Výčtové typy jsou implementovány pomocí 2 tabulek:
id | type_id | 1 | 1 (=např. typ člena) | 2 | 1 | 3 | 1 | 4 | 2 (=např. typ kontaktu) | 5 | 2 | 6 | 2 |
---|
Tabulka enum_types pouze "kategorizuje" jednotlivé hodnoty, uložené v sloupci id, do šuplíčků "typ člena", "typ kontaktu", ... atd.
Ke každé hodnotě id z této tabulky ještě musíme přiřadit řetězec a všechny jeho překlady, k čemuž potřebujeme další tabulku:
==
1 | 1 (=např. typ člena) 2 | 1 3 | 1 4 | 2 (=např. typ kontaktu) 5 | 2 6 | 2
enum_values: id | enum_types_id| lang | value
=============
1 | 1 | cz | Řádný 2 | 1 | en | Regular