Rails i18n - Railskonferenz 2007

50 %
50 %
Information about Rails i18n - Railskonferenz 2007

Published on June 28, 2007

Author: jan_mindmatters

Source: slideshare.net

Description

Rails Internationalisierung

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-Praxiseinstieg-Installation-Testing-Erweiterung/dp/3827324912/

Gründer/ Sysadmin rubyonrails-ug.de

http://halfbyte.jaiku.com http://blog.krutisch.de http://localhost3000.de (http://flickr.com/photos/jankrutisch) http://workingwithrails.com/person/6024-jan-krutisch

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-Anpassungen ‣ Keine UI-Übersetzung! ‣ Keine Sprachdateien

Vor- und Nachteile + Einfache Handhabung/Installation + Non-Invasiv - Nicht alle Rails-Helper angepasst - Keine Übersetzung von Modellen/Attributen - (Beschränktes Einsatzgebiet) - Teilweise seltsame Übersetzungen

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 Rails-Methoden angepasst - (Beschränktes Einsatzgebiet) - Teilweise seltsame Datums-Formate

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 - Keine Workflow-Automatismen

gloc

gloc ‣ UI-Übersetzung in YAML definiert ‣ Helper angepasst

Vor- und Nachteile + Einfache Handhabung/Installation - Nicht alle Rails-Helper angepasst - Helper-Übersetzungen nicht für „de“ - Keine AR-Fehlermeldungen übersetzt - Keine Workflow-Automatismen

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 angepasst - Keine Workflow-Automatismen

globalize

globalize ‣ UI-Übersetzung in DB! ‣ Helper angepasst ‣ Keine (Automatische) Übersetzung von AR-Fehlermeldungen ‣ Modell-Übersetzungen

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

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 in Rails - Kaum Rails-Helper angepasst - (Fehlende Rake-Tasks für Automatisierung)

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/category/8 ‣ http://localhost3000.de/

Add a comment

Related presentations

Related pages

Rails-Konferenz 2007 - Arkanis Development

Rails-Konferenz 2007. Published June 25th, 2007. This post is written in German. Konferenzen sind eine feine Sache. Erst recht, wenn es um Rails geht.
Read more

Railskonferenz - Rails-Konferenz 2009

Home | Kontakt | 2006 | 2007 | ... Frankfurt am Main. Railskonferenz. NH-Hotel, Frankfurt am Main. ... Die Rails-Konferenz 2009 ist vorbei und ...
Read more

Railskonferenz - Rails-Konferenz 2009: Frank Rothmann ...

... 2007 | 2008. Railskonferenz. NH-Hotel, Frankfurt am Main. Railskonferenz. ... Frank Rothmann: Enterprise Rails in Großunternehmen.
Read more

Internationalisierung von Webanwendungen mit Ruby on Rails ...

Ende November 2008 war es so weit: Mit der Veröffentlichung der Version 2.2 verfügt Ruby on Rails über eine integrierte API, ...
Read more

railskonferenz » Der Informatik Student

Interne Tags: Tags: rails, railskonferenz, ruby ... von der Rails-Konferenz 2007 in Frankfurt ... Rails Application Builder; i18n ...
Read more

Speaking - jan.krutisch.de

2007. Rails I18n - Railskonferenz 2007. My first real conference speaking engagement at my favourite (and sadly discontinued) rails conference.
Read more

rails-konferenz tag - Arkanis Development

Rails-Konferenz 2007. Jun 25 Written in German, 3 comments Tags: rails, ... rails-i18n; rails-konferenz; rest; retrospective; riesdsl; ruby; ruby-gems ...
Read more

Ruby on Rails-Videopräsentationen » Der Informatik Student

August 2007 von Joachim Schuler ... Rails Application Builder; i18n ... railskonferenz, ruby, ruby on rails, softwareentwicklung, video-plattform.
Read more