I18n: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
Řádek 25: Řádek 25:
 
Tabulka enum_types pouze "kategorizuje" jednotlivé hodnoty, uložené v sloupci id, do šuplíčků "typ člena", "typ kontaktu", ... atd.
 
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:
+
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_values:
  
========
+
{| border="1" class="wikitable"
1 | 1 (=např. typ člena)
+
|+ enum_values:
2 | 1
+
! id !! enum_types_id  !! lang  !! value
3 | 1
+
|-
4 | 2 (=např. typ kontaktu)
+
| 1 || 1 || cz || Řádný
5 | 2  
+
|-
6 | 2
+
| 2 || 1 || en || Regular
 
+
|-
enum_values:
+
| 3 || 1 || de || Ordentlich
id | enum_types_id| lang | value
+
|-
=========================
+
| 4 || 2 || cz|| Jabber
1 | 1                          | cz    | Řádný
+
|-
2 | 1                          | en    | Regular
+
| 5 || 2 || en || ICQ
 +
|-
 +
| 6 || 2 || de || Skype
 +
|}

Verze z 17. 9. 2008, 21:40

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

enum_values:
id enum_types_id lang value
1 1 cz Řádný
2 1 en Regular
3 1 de Ordentlich
4 2 cz Jabber
5 2 en ICQ
6 2 de Skype