I18n: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
Řádek 8: Řádek 8:
  
 
{| border="1" class="wikitable"
 
{| border="1" class="wikitable"
|+ caption
+
|+ enum_types:
 
! id !! type_id  
 
! id !! type_id  
|-
+
| 1 || 1 (=např. typ člena)
| 1 || 1
+
| 2 || 1
|-
+
| 3 || 1
| 2|| 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:
  
enum_types:
 
 
========
 
========
 
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:


enum_types:
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