Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The St8 of Rails I18n


Jan Krutisch, mindmatters, Hamburg
jan.krutisch@mindmatters.de
http://www.mindmatters.de/
Jan Krutisch
Dipl.-Ing. (FH)
Umwelttechnik
Webentwicklung seit
1996
2002 - 2006
AOL Deutschland
Web-Engineer
bzw. Interactive Media
Developer
bzw. Online-Producer
2006 - 2007
qype.com
Rails-Entwickler
2007 - Time.now
mindmatters
Entwicklungsleiter
Buchautor
Webanwendungen
mit Ruby on Rails
Ramon Wartala
Jan Krutisch

Addison-Wesley

  http://www.amazon.de/Webanwendungen-Praxise...
Gründer/ Sysadmin
rubyonrails-ug.de
http://halfbyte.jaiku.com
http://blog.krutisch.de
http://localhost3000.de
(http://flickr.com/photos/jankrutisch)
http://wor...
Internationalisierung
I19g
Sprachen
Kulturen
Länder?
Locale
Language tag
se-SE fr-CH en-GB
            de-DE
pt-BR se-FI
 en-USde-CH
Sprache
Deutsch
Jänner?
de-AT
localization?
localiSation?
en-US vs. en-GB
Formate
Datumsangaben
1974-11-21
Ein Hoch auf die ISO!
16. Januar 1976
18th of July, 2005
06/22/2007
9pm
21:00
21.00 Uhr
Zahlen
200.000,000
200,000.000
Und einige andere Dinge
It‘s like 90 degrees in here
Sprachfeatures
Pluralisierung
0 Dateien
1 Datei
2 Dateien
5 Dateien
5.000.000 Dateien
1 Plik
2 Pliki
5 Plików
5.000.000 Pliki
Kultur
Dear Doosie?
Ansprache
Ernsthaftigkeit
Ironie
Farben
Formen
Rechtliches
fragt flickr
IANAL
Urheberrecht
Jugendschutz
Projektmanagement
Deployment
Roundtrip-Zeiten
Übersetzungsworkflow
versus
Deploy early,
deploy often
Drei sind zwei zuviel
‣ Neue Features
‣ Übersetzung
‣ Deployment
‣ Neue Features
‣ Übersetzung
‣ Deployment
Tägliche Updates
O RLY?
Wöchentliche Updates
Automatisierte Tests?
QA notwendig
Staging!
Monatliche Updates?
Übersetzungsworkflow
Alle Strings
Alle.
Datenaustausch
„Könnt Ihr die Texte als
Word-Dokument
exportieren?“
„Oder WENIGSTENS
Excel?“
Skurrile
Übersetzungstools
Datenverkehr
„Subversion?!?2!1“
E-Mail
Beauftragter für Im- und
Export
Ich kann das selber!
Deutsch?
sicher
Englisch?
klar
Französisch?
nunja...
Komplexe Probleme...
...keine einfachen Lösungen
Don‘t do it!
unless @possible.nil?
Schmerzlinderung
Tools
Automatisierung
I18n MINI-HOWTO
0. waffenwahl
1. plugin/lib installieren
2. Alle Strings Wrappen
Hallo Welt

             -->

<%= _(„Hallo Welt“) %>
3. Strings sammeln
automatisiert!
4. Strings übersetzen
5. Workflow etablieren!
6. (Optional)
Aufschrei der User
bezüglich beschissener
Übersetzungen abwarten
fragt flickr
Tools
Marktüberblick
Kriterien
Vollständigkeit der
Implementation
Workflow-Unterstützung
(Performanz)
„Aus dem Weg bleiben“
Kandidaten
(diese Liste erhebt keinen
Anspruch auf absolute
Vollständigkeit)
plugin:
localization_simplified
plugin:
simple localization
plugin:
localization
plugin:
gloc
plugin:
globalite
plugin:
globalize
gem:
ruby/gettext
plugin:
gettext_localize
localization_simplified
localization_simplified
‣ Scope: Anpassung von Rails an eine
 Sprache != Englisch
 ‣ AR-Fehlermeldungen
 ‣ Helper-Anpassung...
Vor- und Nachteile
+ Einfache Handhabung/Installation
+ Non-Invasiv

- Nicht alle Rails-Helper angepasst
- Keine Übersetzu...
simple localization
simple localization

‣ Scope: Anpassung von Rails an eine
 Sprache != Englisch
‣ AR-Fehlermeldungen
‣ Helper-Anpassungen
Vor- und Nachteile
+ Einfache Handhabung/Installation
+ Non-Invasiv
+ Übersetzung von Modellen/Attributen

- Nicht alle Ra...
localization
localization

‣ Scope: Einfache Übersetzungen
‣ UI-Übersetzung in ruby-code definiert
Vor- und Nachteile
+ Einfache Handhabung/Installation

- Keine Rails-Helper angepasst
- Übersetzungen als Ruby-Code
- Kein...
gloc
gloc

‣ UI-Übersetzung in YAML definiert
‣ Helper angepasst
Vor- und Nachteile
+ Einfache Handhabung/Installation

- Nicht alle Rails-Helper angepasst
- Helper-Übersetzungen nicht fü...
globalite
globalite

‣ UI-Übersetzung in YAML definiert
‣ Helper angepasst
Vor- und Nachteile
+ Einfache Handhabung/Installation

- Helper-Übersetzungen nicht für „de“
- Einige Helper (noch) nicht ...
globalize
globalize
‣ UI-Übersetzung in DB!
‣ Helper angepasst
‣ Keine (Automatische) Übersetzung von
 AR-Fehlermeldungen
‣ Modell-Ü...
Vor- und Nachteile
+ Ermöglicht „online-Übersetzungen“
+ Modell-Übersetzungen (auf 2 Arten)

- Schwieriger Einstieg
- Work...
ruby/gettext
ruby/gettext

‣ basiert auf gettext
‣ Eigenes Format für Text-Dateien
‣ Fokus auf Workflow-Unterstützung
‣ Helper
Vor- und Nachteile
+ Exzellente Workflow-Unterstützung
+ Viele Tools

- Teilweise komplex
- Teilweise schlechte Integration...
gettext_localize
gettext_localize

‣ basiert auf ruby/gettext
‣ Tiefergehende Rails-Integration
‣ Vereinfachung
‣ Rake-Tasks
Vor- und Nachteile
+ Alle Vorteile von Gettext
+ Viele Helper angepasst

- Helper-Übersetzung nicht auf Deutsch
praxiserfahrungen
(casestudy)
Globalize
Eventuell mal Model-
Translations?
Übersetzungen in DB
Doofe Idee.
Sync
DEV > STAGE > PROD
???
Versioniert, bitte!
Subversion!
Eigene rake-tasks für
im- und export
csv als austauschformat
CSV::Reader
CSV::Writer
anstrengend
merge-conflict-Hölle
Keine automatische
String-Sammlung
Übersetzungs-GUI
nicht bewährt
Sync
PROD > STAGE > DEV
???
Übersetzungswürgflow
CSV-Datei an Übersetzer
CSV vom Übersetzer
Kontextfrei
Sinnfrei
Yes, Nummer, Abbruch
(Audacity / MacOS X)
Viele Iterationen
Lehren
Globalize für
„traditionellen Workflow“
nicht geeignet
Workflow ist wichtig
Globalize bietet viel nicht
Model Translations
braucht man selten
Wenn man sie braucht,
klappt es mit globalize
nicht
Hätten wir doch nur...
Zusammenfassung
6 million ways to die
choose one!
simple localization
für einsprachige
Anwendungen
(the simplest thing that
could possibly work)
ruby/gettext
ausgereift
workflow!
Globalize für „besondere“
Zwecke
User generated
localisation
Modell-Übersetzungen
Und der Rest?!?
Nicht Fisch
Nicht Fleisch
Was fehlt?
german_rails
Deutsche Übersetzungen
generic globalize
translation gui
Workflow-Unterstützung
F.I.T.-Projekt
http://fit.dit.upm.es/cgi-bin/trac.cgi
Danke.
Quellen

‣ http://wiki.rubyonrails.org/rails/pages/InternationalizationComparison
‣ http://agilewebdevelopment.com/plugins...
Upcoming SlideShare
Loading in …5
×

of

Rails i18n - Railskonferenz 2007 Slide 1 Rails i18n - Railskonferenz 2007 Slide 2 Rails i18n - Railskonferenz 2007 Slide 3 Rails i18n - Railskonferenz 2007 Slide 4 Rails i18n - Railskonferenz 2007 Slide 5 Rails i18n - Railskonferenz 2007 Slide 6 Rails i18n - Railskonferenz 2007 Slide 7 Rails i18n - Railskonferenz 2007 Slide 8 Rails i18n - Railskonferenz 2007 Slide 9 Rails i18n - Railskonferenz 2007 Slide 10 Rails i18n - Railskonferenz 2007 Slide 11 Rails i18n - Railskonferenz 2007 Slide 12 Rails i18n - Railskonferenz 2007 Slide 13 Rails i18n - Railskonferenz 2007 Slide 14 Rails i18n - Railskonferenz 2007 Slide 15 Rails i18n - Railskonferenz 2007 Slide 16 Rails i18n - Railskonferenz 2007 Slide 17 Rails i18n - Railskonferenz 2007 Slide 18 Rails i18n - Railskonferenz 2007 Slide 19 Rails i18n - Railskonferenz 2007 Slide 20 Rails i18n - Railskonferenz 2007 Slide 21 Rails i18n - Railskonferenz 2007 Slide 22 Rails i18n - Railskonferenz 2007 Slide 23 Rails i18n - Railskonferenz 2007 Slide 24 Rails i18n - Railskonferenz 2007 Slide 25 Rails i18n - Railskonferenz 2007 Slide 26 Rails i18n - Railskonferenz 2007 Slide 27 Rails i18n - Railskonferenz 2007 Slide 28 Rails i18n - Railskonferenz 2007 Slide 29 Rails i18n - Railskonferenz 2007 Slide 30 Rails i18n - Railskonferenz 2007 Slide 31 Rails i18n - Railskonferenz 2007 Slide 32 Rails i18n - Railskonferenz 2007 Slide 33 Rails i18n - Railskonferenz 2007 Slide 34 Rails i18n - Railskonferenz 2007 Slide 35 Rails i18n - Railskonferenz 2007 Slide 36 Rails i18n - Railskonferenz 2007 Slide 37 Rails i18n - Railskonferenz 2007 Slide 38 Rails i18n - Railskonferenz 2007 Slide 39 Rails i18n - Railskonferenz 2007 Slide 40 Rails i18n - Railskonferenz 2007 Slide 41 Rails i18n - Railskonferenz 2007 Slide 42 Rails i18n - Railskonferenz 2007 Slide 43 Rails i18n - Railskonferenz 2007 Slide 44 Rails i18n - Railskonferenz 2007 Slide 45 Rails i18n - Railskonferenz 2007 Slide 46 Rails i18n - Railskonferenz 2007 Slide 47 Rails i18n - Railskonferenz 2007 Slide 48 Rails i18n - Railskonferenz 2007 Slide 49 Rails i18n - Railskonferenz 2007 Slide 50 Rails i18n - Railskonferenz 2007 Slide 51 Rails i18n - Railskonferenz 2007 Slide 52 Rails i18n - Railskonferenz 2007 Slide 53 Rails i18n - Railskonferenz 2007 Slide 54 Rails i18n - Railskonferenz 2007 Slide 55 Rails i18n - Railskonferenz 2007 Slide 56 Rails i18n - Railskonferenz 2007 Slide 57 Rails i18n - Railskonferenz 2007 Slide 58 Rails i18n - Railskonferenz 2007 Slide 59 Rails i18n - Railskonferenz 2007 Slide 60 Rails i18n - Railskonferenz 2007 Slide 61 Rails i18n - Railskonferenz 2007 Slide 62 Rails i18n - Railskonferenz 2007 Slide 63 Rails i18n - Railskonferenz 2007 Slide 64 Rails i18n - Railskonferenz 2007 Slide 65 Rails i18n - Railskonferenz 2007 Slide 66 Rails i18n - Railskonferenz 2007 Slide 67 Rails i18n - Railskonferenz 2007 Slide 68 Rails i18n - Railskonferenz 2007 Slide 69 Rails i18n - Railskonferenz 2007 Slide 70 Rails i18n - Railskonferenz 2007 Slide 71 Rails i18n - Railskonferenz 2007 Slide 72 Rails i18n - Railskonferenz 2007 Slide 73 Rails i18n - Railskonferenz 2007 Slide 74 Rails i18n - Railskonferenz 2007 Slide 75 Rails i18n - Railskonferenz 2007 Slide 76 Rails i18n - Railskonferenz 2007 Slide 77 Rails i18n - Railskonferenz 2007 Slide 78 Rails i18n - Railskonferenz 2007 Slide 79 Rails i18n - Railskonferenz 2007 Slide 80 Rails i18n - Railskonferenz 2007 Slide 81 Rails i18n - Railskonferenz 2007 Slide 82 Rails i18n - Railskonferenz 2007 Slide 83 Rails i18n - Railskonferenz 2007 Slide 84 Rails i18n - Railskonferenz 2007 Slide 85 Rails i18n - Railskonferenz 2007 Slide 86 Rails i18n - Railskonferenz 2007 Slide 87 Rails i18n - Railskonferenz 2007 Slide 88 Rails i18n - Railskonferenz 2007 Slide 89 Rails i18n - Railskonferenz 2007 Slide 90 Rails i18n - Railskonferenz 2007 Slide 91 Rails i18n - Railskonferenz 2007 Slide 92 Rails i18n - Railskonferenz 2007 Slide 93 Rails i18n - Railskonferenz 2007 Slide 94 Rails i18n - Railskonferenz 2007 Slide 95 Rails i18n - Railskonferenz 2007 Slide 96 Rails i18n - Railskonferenz 2007 Slide 97 Rails i18n - Railskonferenz 2007 Slide 98 Rails i18n - Railskonferenz 2007 Slide 99 Rails i18n - Railskonferenz 2007 Slide 100 Rails i18n - Railskonferenz 2007 Slide 101 Rails i18n - Railskonferenz 2007 Slide 102 Rails i18n - Railskonferenz 2007 Slide 103 Rails i18n - Railskonferenz 2007 Slide 104 Rails i18n - Railskonferenz 2007 Slide 105 Rails i18n - Railskonferenz 2007 Slide 106 Rails i18n - Railskonferenz 2007 Slide 107 Rails i18n - Railskonferenz 2007 Slide 108 Rails i18n - Railskonferenz 2007 Slide 109 Rails i18n - Railskonferenz 2007 Slide 110 Rails i18n - Railskonferenz 2007 Slide 111 Rails i18n - Railskonferenz 2007 Slide 112 Rails i18n - Railskonferenz 2007 Slide 113 Rails i18n - Railskonferenz 2007 Slide 114 Rails i18n - Railskonferenz 2007 Slide 115 Rails i18n - Railskonferenz 2007 Slide 116 Rails i18n - Railskonferenz 2007 Slide 117 Rails i18n - Railskonferenz 2007 Slide 118 Rails i18n - Railskonferenz 2007 Slide 119 Rails i18n - Railskonferenz 2007 Slide 120 Rails i18n - Railskonferenz 2007 Slide 121 Rails i18n - Railskonferenz 2007 Slide 122 Rails i18n - Railskonferenz 2007 Slide 123 Rails i18n - Railskonferenz 2007 Slide 124 Rails i18n - Railskonferenz 2007 Slide 125 Rails i18n - Railskonferenz 2007 Slide 126 Rails i18n - Railskonferenz 2007 Slide 127 Rails i18n - Railskonferenz 2007 Slide 128 Rails i18n - Railskonferenz 2007 Slide 129 Rails i18n - Railskonferenz 2007 Slide 130 Rails i18n - Railskonferenz 2007 Slide 131 Rails i18n - Railskonferenz 2007 Slide 132 Rails i18n - Railskonferenz 2007 Slide 133 Rails i18n - Railskonferenz 2007 Slide 134 Rails i18n - Railskonferenz 2007 Slide 135 Rails i18n - Railskonferenz 2007 Slide 136 Rails i18n - Railskonferenz 2007 Slide 137 Rails i18n - Railskonferenz 2007 Slide 138 Rails i18n - Railskonferenz 2007 Slide 139 Rails i18n - Railskonferenz 2007 Slide 140 Rails i18n - Railskonferenz 2007 Slide 141 Rails i18n - Railskonferenz 2007 Slide 142 Rails i18n - Railskonferenz 2007 Slide 143 Rails i18n - Railskonferenz 2007 Slide 144 Rails i18n - Railskonferenz 2007 Slide 145 Rails i18n - Railskonferenz 2007 Slide 146 Rails i18n - Railskonferenz 2007 Slide 147 Rails i18n - Railskonferenz 2007 Slide 148 Rails i18n - Railskonferenz 2007 Slide 149 Rails i18n - Railskonferenz 2007 Slide 150 Rails i18n - Railskonferenz 2007 Slide 151 Rails i18n - Railskonferenz 2007 Slide 152 Rails i18n - Railskonferenz 2007 Slide 153 Rails i18n - Railskonferenz 2007 Slide 154 Rails i18n - Railskonferenz 2007 Slide 155 Rails i18n - Railskonferenz 2007 Slide 156 Rails i18n - Railskonferenz 2007 Slide 157 Rails i18n - Railskonferenz 2007 Slide 158 Rails i18n - Railskonferenz 2007 Slide 159 Rails i18n - Railskonferenz 2007 Slide 160 Rails i18n - Railskonferenz 2007 Slide 161 Rails i18n - Railskonferenz 2007 Slide 162 Rails i18n - Railskonferenz 2007 Slide 163 Rails i18n - Railskonferenz 2007 Slide 164 Rails i18n - Railskonferenz 2007 Slide 165 Rails i18n - Railskonferenz 2007 Slide 166 Rails i18n - Railskonferenz 2007 Slide 167 Rails i18n - Railskonferenz 2007 Slide 168 Rails i18n - Railskonferenz 2007 Slide 169 Rails i18n - Railskonferenz 2007 Slide 170 Rails i18n - Railskonferenz 2007 Slide 171 Rails i18n - Railskonferenz 2007 Slide 172 Rails i18n - Railskonferenz 2007 Slide 173 Rails i18n - Railskonferenz 2007 Slide 174 Rails i18n - Railskonferenz 2007 Slide 175 Rails i18n - Railskonferenz 2007 Slide 176 Rails i18n - Railskonferenz 2007 Slide 177 Rails i18n - Railskonferenz 2007 Slide 178 Rails i18n - Railskonferenz 2007 Slide 179 Rails i18n - Railskonferenz 2007 Slide 180 Rails i18n - Railskonferenz 2007 Slide 181 Rails i18n - Railskonferenz 2007 Slide 182 Rails i18n - Railskonferenz 2007 Slide 183 Rails i18n - Railskonferenz 2007 Slide 184 Rails i18n - Railskonferenz 2007 Slide 185 Rails i18n - Railskonferenz 2007 Slide 186 Rails i18n - Railskonferenz 2007 Slide 187 Rails i18n - Railskonferenz 2007 Slide 188 Rails i18n - Railskonferenz 2007 Slide 189 Rails i18n - Railskonferenz 2007 Slide 190 Rails i18n - Railskonferenz 2007 Slide 191 Rails i18n - Railskonferenz 2007 Slide 192 Rails i18n - Railskonferenz 2007 Slide 193 Rails i18n - Railskonferenz 2007 Slide 194 Rails i18n - Railskonferenz 2007 Slide 195 Rails i18n - Railskonferenz 2007 Slide 196 Rails i18n - Railskonferenz 2007 Slide 197 Rails i18n - Railskonferenz 2007 Slide 198 Rails i18n - Railskonferenz 2007 Slide 199 Rails i18n - Railskonferenz 2007 Slide 200 Rails i18n - Railskonferenz 2007 Slide 201 Rails i18n - Railskonferenz 2007 Slide 202 Rails i18n - Railskonferenz 2007 Slide 203 Rails i18n - Railskonferenz 2007 Slide 204 Rails i18n - Railskonferenz 2007 Slide 205 Rails i18n - Railskonferenz 2007 Slide 206 Rails i18n - Railskonferenz 2007 Slide 207 Rails i18n - Railskonferenz 2007 Slide 208 Rails i18n - Railskonferenz 2007 Slide 209 Rails i18n - Railskonferenz 2007 Slide 210 Rails i18n - Railskonferenz 2007 Slide 211 Rails i18n - Railskonferenz 2007 Slide 212 Rails i18n - Railskonferenz 2007 Slide 213
Upcoming SlideShare
Media 1
Next
Download to read offline and view in fullscreen.

2 Likes

Share

Download to read offline

Rails i18n - Railskonferenz 2007

Download to read offline

Rails Internationalisierung

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Rails i18n - Railskonferenz 2007

  1. 1. The St8 of Rails I18n Jan Krutisch, mindmatters, Hamburg jan.krutisch@mindmatters.de http://www.mindmatters.de/
  2. 2. Jan Krutisch
  3. 3. Dipl.-Ing. (FH) Umwelttechnik
  4. 4. Webentwicklung seit 1996
  5. 5. 2002 - 2006 AOL Deutschland Web-Engineer
  6. 6. bzw. Interactive Media Developer
  7. 7. bzw. Online-Producer
  8. 8. 2006 - 2007 qype.com Rails-Entwickler
  9. 9. 2007 - Time.now mindmatters Entwicklungsleiter
  10. 10. Buchautor
  11. 11. Webanwendungen mit Ruby on Rails Ramon Wartala Jan Krutisch Addison-Wesley http://www.amazon.de/Webanwendungen-Praxiseinstieg-Installation-Testing-Erweiterung/dp/3827324912/
  12. 12. Gründer/ Sysadmin rubyonrails-ug.de
  13. 13. http://halfbyte.jaiku.com http://blog.krutisch.de http://localhost3000.de (http://flickr.com/photos/jankrutisch) http://workingwithrails.com/person/6024-jan-krutisch
  14. 14. Internationalisierung
  15. 15. I19g
  16. 16. Sprachen
  17. 17. Kulturen
  18. 18. Länder?
  19. 19. Locale
  20. 20. Language tag
  21. 21. se-SE fr-CH en-GB de-DE pt-BR se-FI en-USde-CH
  22. 22. Sprache
  23. 23. Deutsch
  24. 24. Jänner?
  25. 25. de-AT
  26. 26. localization?
  27. 27. localiSation?
  28. 28. en-US vs. en-GB
  29. 29. Formate
  30. 30. Datumsangaben
  31. 31. 1974-11-21
  32. 32. Ein Hoch auf die ISO!
  33. 33. 16. Januar 1976
  34. 34. 18th of July, 2005
  35. 35. 06/22/2007
  36. 36. 9pm
  37. 37. 21:00
  38. 38. 21.00 Uhr
  39. 39. Zahlen
  40. 40. 200.000,000
  41. 41. 200,000.000
  42. 42. Und einige andere Dinge
  43. 43. It‘s like 90 degrees in here
  44. 44. Sprachfeatures
  45. 45. Pluralisierung
  46. 46. 0 Dateien
  47. 47. 1 Datei
  48. 48. 2 Dateien
  49. 49. 5 Dateien
  50. 50. 5.000.000 Dateien
  51. 51. 1 Plik
  52. 52. 2 Pliki
  53. 53. 5 Plików
  54. 54. 5.000.000 Pliki
  55. 55. Kultur
  56. 56. Dear Doosie?
  57. 57. Ansprache
  58. 58. Ernsthaftigkeit
  59. 59. Ironie
  60. 60. Farben
  61. 61. Formen
  62. 62. Rechtliches
  63. 63. fragt flickr
  64. 64. IANAL
  65. 65. Urheberrecht
  66. 66. Jugendschutz
  67. 67. Projektmanagement
  68. 68. Deployment
  69. 69. Roundtrip-Zeiten
  70. 70. Übersetzungsworkflow
  71. 71. versus
  72. 72. Deploy early, deploy often
  73. 73. Drei sind zwei zuviel ‣ Neue Features ‣ Übersetzung ‣ Deployment ‣ Neue Features ‣ Übersetzung ‣ Deployment
  74. 74. Tägliche Updates
  75. 75. O RLY?
  76. 76. Wöchentliche Updates
  77. 77. Automatisierte Tests?
  78. 78. QA notwendig
  79. 79. Staging!
  80. 80. Monatliche Updates?
  81. 81. Übersetzungsworkflow
  82. 82. Alle Strings
  83. 83. Alle.
  84. 84. Datenaustausch
  85. 85. „Könnt Ihr die Texte als Word-Dokument exportieren?“
  86. 86. „Oder WENIGSTENS Excel?“
  87. 87. Skurrile Übersetzungstools
  88. 88. Datenverkehr
  89. 89. „Subversion?!?2!1“
  90. 90. E-Mail
  91. 91. Beauftragter für Im- und Export
  92. 92. Ich kann das selber!
  93. 93. Deutsch?
  94. 94. sicher
  95. 95. Englisch?
  96. 96. klar
  97. 97. Französisch?
  98. 98. nunja...
  99. 99. Komplexe Probleme...
  100. 100. ...keine einfachen Lösungen
  101. 101. Don‘t do it!
  102. 102. unless @possible.nil?
  103. 103. Schmerzlinderung
  104. 104. Tools
  105. 105. Automatisierung
  106. 106. I18n MINI-HOWTO
  107. 107. 0. waffenwahl
  108. 108. 1. plugin/lib installieren
  109. 109. 2. Alle Strings Wrappen
  110. 110. Hallo Welt --> <%= _(„Hallo Welt“) %>
  111. 111. 3. Strings sammeln
  112. 112. automatisiert!
  113. 113. 4. Strings übersetzen
  114. 114. 5. Workflow etablieren!
  115. 115. 6. (Optional) Aufschrei der User bezüglich beschissener Übersetzungen abwarten
  116. 116. fragt flickr
  117. 117. Tools
  118. 118. Marktüberblick
  119. 119. Kriterien
  120. 120. Vollständigkeit der Implementation
  121. 121. Workflow-Unterstützung
  122. 122. (Performanz)
  123. 123. „Aus dem Weg bleiben“
  124. 124. Kandidaten
  125. 125. (diese Liste erhebt keinen Anspruch auf absolute Vollständigkeit)
  126. 126. plugin: localization_simplified
  127. 127. plugin: simple localization
  128. 128. plugin: localization
  129. 129. plugin: gloc
  130. 130. plugin: globalite
  131. 131. plugin: globalize
  132. 132. gem: ruby/gettext
  133. 133. plugin: gettext_localize
  134. 134. localization_simplified
  135. 135. localization_simplified ‣ Scope: Anpassung von Rails an eine Sprache != Englisch ‣ AR-Fehlermeldungen ‣ Helper-Anpassungen ‣ Keine UI-Übersetzung! ‣ Keine Sprachdateien
  136. 136. Vor- und Nachteile + Einfache Handhabung/Installation + Non-Invasiv - Nicht alle Rails-Helper angepasst - Keine Übersetzung von Modellen/Attributen - (Beschränktes Einsatzgebiet) - Teilweise seltsame Übersetzungen
  137. 137. simple localization
  138. 138. simple localization ‣ Scope: Anpassung von Rails an eine Sprache != Englisch ‣ AR-Fehlermeldungen ‣ Helper-Anpassungen
  139. 139. Vor- und Nachteile + Einfache Handhabung/Installation + Non-Invasiv + Übersetzung von Modellen/Attributen - Nicht alle Rails-Methoden angepasst - (Beschränktes Einsatzgebiet) - Teilweise seltsame Datums-Formate
  140. 140. localization
  141. 141. localization ‣ Scope: Einfache Übersetzungen ‣ UI-Übersetzung in ruby-code definiert
  142. 142. Vor- und Nachteile + Einfache Handhabung/Installation - Keine Rails-Helper angepasst - Übersetzungen als Ruby-Code - Keine Workflow-Automatismen
  143. 143. gloc
  144. 144. gloc ‣ UI-Übersetzung in YAML definiert ‣ Helper angepasst
  145. 145. Vor- und Nachteile + Einfache Handhabung/Installation - Nicht alle Rails-Helper angepasst - Helper-Übersetzungen nicht für „de“ - Keine AR-Fehlermeldungen übersetzt - Keine Workflow-Automatismen
  146. 146. globalite
  147. 147. globalite ‣ UI-Übersetzung in YAML definiert ‣ Helper angepasst
  148. 148. Vor- und Nachteile + Einfache Handhabung/Installation - Helper-Übersetzungen nicht für „de“ - Einige Helper (noch) nicht angepasst - Keine Workflow-Automatismen
  149. 149. globalize
  150. 150. globalize ‣ UI-Übersetzung in DB! ‣ Helper angepasst ‣ Keine (Automatische) Übersetzung von AR-Fehlermeldungen ‣ Modell-Übersetzungen
  151. 151. Vor- und Nachteile + Ermöglicht „online-Übersetzungen“ + Modell-Übersetzungen (auf 2 Arten) - Schwieriger Einstieg - Workflow nur mit eigenem Code zu bauen - Keine Trennung von UI-Texten und Content - Keine Workflow-Automatismen
  152. 152. ruby/gettext
  153. 153. ruby/gettext ‣ basiert auf gettext ‣ Eigenes Format für Text-Dateien ‣ Fokus auf Workflow-Unterstützung ‣ Helper
  154. 154. Vor- und Nachteile + Exzellente Workflow-Unterstützung + Viele Tools - Teilweise komplex - Teilweise schlechte Integration in Rails - Kaum Rails-Helper angepasst - (Fehlende Rake-Tasks für Automatisierung)
  155. 155. gettext_localize
  156. 156. gettext_localize ‣ basiert auf ruby/gettext ‣ Tiefergehende Rails-Integration ‣ Vereinfachung ‣ Rake-Tasks
  157. 157. Vor- und Nachteile + Alle Vorteile von Gettext + Viele Helper angepasst - Helper-Übersetzung nicht auf Deutsch
  158. 158. praxiserfahrungen
  159. 159. (casestudy)
  160. 160. Globalize
  161. 161. Eventuell mal Model- Translations?
  162. 162. Übersetzungen in DB
  163. 163. Doofe Idee.
  164. 164. Sync DEV > STAGE > PROD ???
  165. 165. Versioniert, bitte!
  166. 166. Subversion!
  167. 167. Eigene rake-tasks für im- und export
  168. 168. csv als austauschformat
  169. 169. CSV::Reader CSV::Writer
  170. 170. anstrengend
  171. 171. merge-conflict-Hölle
  172. 172. Keine automatische String-Sammlung
  173. 173. Übersetzungs-GUI
  174. 174. nicht bewährt
  175. 175. Sync PROD > STAGE > DEV ???
  176. 176. Übersetzungswürgflow
  177. 177. CSV-Datei an Übersetzer
  178. 178. CSV vom Übersetzer
  179. 179. Kontextfrei
  180. 180. Sinnfrei
  181. 181. Yes, Nummer, Abbruch
  182. 182. (Audacity / MacOS X)
  183. 183. Viele Iterationen
  184. 184. Lehren
  185. 185. Globalize für „traditionellen Workflow“ nicht geeignet
  186. 186. Workflow ist wichtig
  187. 187. Globalize bietet viel nicht
  188. 188. Model Translations braucht man selten
  189. 189. Wenn man sie braucht, klappt es mit globalize nicht
  190. 190. Hätten wir doch nur...
  191. 191. Zusammenfassung
  192. 192. 6 million ways to die
  193. 193. choose one!
  194. 194. simple localization
  195. 195. für einsprachige Anwendungen
  196. 196. (the simplest thing that could possibly work)
  197. 197. ruby/gettext
  198. 198. ausgereift
  199. 199. workflow!
  200. 200. Globalize für „besondere“ Zwecke
  201. 201. User generated localisation
  202. 202. Modell-Übersetzungen
  203. 203. Und der Rest?!?
  204. 204. Nicht Fisch
  205. 205. Nicht Fleisch
  206. 206. Was fehlt?
  207. 207. german_rails
  208. 208. Deutsche Übersetzungen
  209. 209. generic globalize translation gui
  210. 210. Workflow-Unterstützung
  211. 211. F.I.T.-Projekt http://fit.dit.upm.es/cgi-bin/trac.cgi
  212. 212. Danke.
  213. 213. Quellen ‣ http://wiki.rubyonrails.org/rails/pages/InternationalizationComparison ‣ http://agilewebdevelopment.com/plugins/category/8 ‣ http://localhost3000.de/
  • underflow

    Apr. 19, 2008
  • cornelius

    Jul. 3, 2007

Rails Internationalisierung

Views

Total views

4,632

On Slideshare

0

From embeds

0

Number of embeds

78

Actions

Downloads

107

Shares

0

Comments

0

Likes

2

×