Fixed missing and double items in german language

Fixed missing and double items in english language


attached CompareLocales.java so you can easily compare your own language to the standard language file(english)
just change the path and your good to go

git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@12095 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Wolf Posdorfer
2011-03-10 15:38:33 +00:00
committed by wolf.posdorfer
parent a9426b72d2
commit dfcfedd4dc
3 changed files with 253 additions and 35 deletions

View File

@ -0,0 +1,145 @@
package pkg;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
/**
* Use this Class to compare your locale with the standard english to find missing entries
* @author wolf.posdorfer
*
*/
public class CompareLocales {
private static ArrayList<String> _mainlist = new ArrayList<String>();
static ArrayList<String> _standardlist = new ArrayList<String>();
static ArrayList<String> _mylocalelist = new ArrayList<String>();
static String _endofFile = "#!#";
public static void main(String[] args)
{
// Change Path
String path = "C:\\spark\\spark_i18n";
File standard = new File(path + ".properties");
/**
* Change this to your locale
*/
File mylocale = new File(path + "_de.properties");
readFile(standard, _standardlist);
readFile(mylocale, _mylocalelist);
// check if all standard items are in the german file
for (String s : _standardlist) {
if (!_mylocalelist.contains(s)) {
System.out.println(_mainlist.get(_standardlist.indexOf(s)));
}
}
// Check if all german-items are in the standard file
for (String s : _mylocalelist) {
if (!_standardlist.contains(s)) {
System.out.println(s);
}
}
System.out.println("standardlist has: "+_standardlist.size() + " , my local has " + _mylocalelist.size());
// Check if we have doubles
checkdoubles(standard);
checkdoubles(mylocale);
}
/**
* Check if our File has double entries
* @param file
*/
private static void checkdoubles(File file) {
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
ArrayList<String> liste = new ArrayList<String>();
HashSet<String> hashliste = new HashSet<String>();
String zeile = "";
boolean t = true;
while (t) {
// Skip all files that are not items
// like comments and empty lines
if (zeile != null && zeile.contains("=")) {
String s = zeile.substring(0, zeile.indexOf("=") - 1);
s = s.replace(" ", "");
liste.add(s);
if (!hashliste.add(s))
System.out.println(zeile);
}
zeile = reader.readLine();
t = !zeile.contains(_endofFile);
}
System.out.println(file.getName()+">>>\n containing " + liste.size() + " entries, with " + (liste.size()-hashliste.size())+ " doubles");
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Reads a file into the Destination
* @param file
* @param destination
*/
public static void readFile(File file, ArrayList<String> destination) {
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String zeile = "";
boolean t = true;
while (t) {
if (zeile != null && zeile.contains("=")) {
if (destination.equals(_standardlist))
_mainlist.add(zeile);
String s = zeile.substring(0, zeile.indexOf("=") - 1);
s = s.replace(" ", "");
destination.add(s);
}
zeile = reader.readLine();
t = !zeile.contains(_endofFile);
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@ -441,7 +441,7 @@ label.resource = Resource
label.response.timeout = &Response timeout (sec)
label.room = Room
label.room.name = Room name
label.room.topic= Room topic
label.room.topic = Room topic
label.search.service = Search service
label.server = &Server
label.server.address = Server address
@ -487,7 +487,7 @@ menuitem.add.contact = Add contact
menuitem.add.contact.group = Add contact group
menuitem.add.groupchat.myname = Highlight my &name when someone says it
menuitem.add.groupchat.mytext = &Highlight my text when I say something
menuitem.add.groupchat.popname= Show &toast popup when someone says my name
menuitem.add.groupchat.popname = Show &toast popup when someone says my name
menuitem.add.groupchat.showjoinleavemessage = &Show join and leave messages
menuitem.add.groupchat.showrolesinsteadofstatus = Show chatroleicons instead of statusicons
menuitem.always.on.top = Always on top
@ -900,6 +900,7 @@ title.gtalk.registration = GTalk account credentials
title.history.for = Conversation history for {0}
title.icq.registration = ICQ account credentials
title.irc.registration = IRC account credentials
title.aim.registration = AIM account credentials
title.sametime.registration = Sametime account credentials
title.facebook.registration = Facebook account credentials
title.myspace.registration = MySpace account credentials
@ -961,7 +962,7 @@ title.waiting.to.call = Waiting to place call
title.xmpp.registration = XMPP account credentials
title.yahoo.registration = Yahoo account credentials
title.appearance.showVCards = Show &VCards in the contact list
title.subscription.request= Subscription request
title.subscription.request = Subscription request
tooltip.place.a.call = Place a call to this individual
tooltip.appearance = Change the appearance of your conversations
@ -975,4 +976,5 @@ tooltip.view.history = View conversation history
tooltip.view.readme = View readme
tree.conference.services = Conference services
tree.users.in.room = Users in room
tree.users.in.room = Users in room
#!#

View File

@ -124,10 +124,6 @@
## Added key: 'administrator'
## Added key: 'menuitem.add.groupchat.showrolesinsteadofstatus'
ok = Ok
apply = <EFBFBD>bernehmen
administrator = Administrator
@ -156,11 +152,8 @@ yes = Ja
no = Nein
broadcast = Rundnachricht
available = Anwesend
user.has.signed.in = hat sich eingeloggt.
user.has.signed.off = hat sich ausgeloggt.
button.create.account = &Account Erstellen
button.close = Schlie<EFBFBD>en
button.advanced = &Erweitert
@ -186,7 +179,6 @@ button.update = &Update
button.cancel = &Abbrechen
button.decline = &Ablehnen
button.join = &Beitreten
button.join.room = Ausgew<EFBFBD>hltem Raum beitreten
button.login = &Login
button.save.for.future.use = &Speichern f<>r die sp<73>tere Verwendung
button.register = &Registrierung
@ -203,7 +195,6 @@ button.send.email = Email
button.send = Senden
button.unset.file.explorer = entferne gespeicherten File Browser
button.view.profile = Gesamtes Profil anzeigen
checkbox.save.password = Pass&wort speichern
checkbox.auto.login = &Automatisches Login
checkbox.use.proxy.server = &Proxy Server benutzen
@ -226,7 +217,6 @@ checkbox.start.in.tray = Spark automatisch in der &Taskleiste starten
checkbox.split.chat.window = &Fenster 'andocken' (ben<65>tigt Neustart von Spark)
checkbox.tabs.on.top = &Chat tabs oben anzeigen (ben<65>tigt Neustart von Spark)
checkbox.allow.buzz = "&Buzzer" Funktion aktivieren.
checkbox.tabs.externalize = Neue Chat Tabs <20>ffnen in seperaten Fenstern
checkbox.enable.emoticons = &Emoticons aktivieren
checkbox.use.system.look.and.feel = System Look And &Feel verwenden (ben<65>tigt Neustart von Spark)
checkbox.notify.user.comes.online = &Benachrichtigen, wenn ein User Online kommt
@ -241,13 +231,12 @@ checkbox.use.krbconf = Verwende krb5.conf oder krb5.ini
checkbox.use.krb.dns = Verwende DNS
checkbox.use.specify.below = Specify Below
checkbox.use.pki.authentication = Verwende PKI Authentifizierung
label.user.on.public.network = Teilnehmer befindet sich in einem <20>ffentlichen Netzwerk
label.change.password.to = &Neues Passwort eingeben
label.username = &Benutzername
label.name = &Name
label.room.name = &Raumname
label.room.topic= Raum &Thema
label.room.topic = Raum &Thema
label.password = &Passwort
label.confirm.password = Neues Passwort &wiederholen
label.server = &Server
@ -263,7 +252,6 @@ label.host = &Host
label.resource = &Ressource
label.protocol = &Protokoll
label.accounts = A&ccounts
label.receieved = &Empfangen
label.transfer.timeout = &Zeitspanne bis zum Abbruch des Transfers (min):
label.transfer.download.directory = &Download Verzeichnis:
label.find = &Finden
@ -334,7 +322,6 @@ label.trust.store.password = Trust Store Passwort
label.enter.password = Password eingeben
label.move.focus.forwards = Move Focus Forwards
label.move.focus.backwards = Move Focus Backwards
message.username.error = W<EFBFBD>hlen Sie einen Benutzernamen f<>r diesem Account.
message.password.error = W<EFBFBD>hle Sie Passwort f<>r diesem Account.
message.confirmation.password.error = Wiederholen Sie das Passwort.
@ -369,8 +356,6 @@ message.close.other.chats = Alle anderen Chats schlie
message.close.stale.chats = Inaktive Chats schlie<69>en
message.last.message.received = Letzte Nachricht empfangen um {0}
message.shared.group = Gemeinsame Gruppen
message.internalize.tab = Chatroom wieder in Tabliste einbinden
message.externalize.tab = Chatroom in externes Fenster auslagern
message.is.shared.group = {0} ist eine gemeinsame Gruppe.
message.delete.confirmation = {0} - Wirklich l<>schen?
message.idle.for = Inaktiv seit {0}
@ -445,7 +430,6 @@ message.user.granted.admin = {0} ist jetzt Administrator.
message.user.revoked.admin = Administratorrechte wurden {0} entzogen.
message.user.nickname.changed = {0} nennt sich jetzt {1}.
message.your.kicked = Sie wurden von {0} ausgeladen.
message.your.voice.revoked = Sie haben jetzt Schreibrechte.
message.your.voice.revoked = Das Schreibrecht wurde Ihnen entzogen.
message.your.banned = Sie sind f<>r diesen Raum gesperrt.
message.your.membership.granted = Sie sind jetzt Mitglied.
@ -519,7 +503,6 @@ message.specify.valid.time.error = Bitte korrekte Werte eingeben.
message.timeout.error = Die Zeitspanne muss mindestens 5 Sekunden betragen.
message.version = Version: {0}
message.file.size = Dateigr<EFBFBD><EFBFBD>e: {0}
message.restart.spark = Das Programm muss beendet werden, \n bevor eine neue Version installiert werden kann. Programm beenden?
message.updating.cancelled = Das Updaten wurde verweigert.
message.transfer.rate = Datendurchsatz
message.total.downloaded = Total Downloaded
@ -539,7 +522,6 @@ message.unable.to.retrieve.last.activity = Keine letzte Aktivit
message.buzz.alert.notification = Sich beim Benutzer bemerkbar machen.
message.buzz.sent = 'Buzzer' Benachrichtigung an Benutzer gesendet.
message.invite.to.groupchat = Sie wurden von {0} zu einen Gruppen-Chat eingeladen
title.advanced.connection.preferences = Erweiterte Verbindungseinstellungen
title.passwords.no.match = Passw<EFBFBD>rter stimmen nicht <20>berein. Bitte Eingabe wiederholen.
title.create.problem = Problem beim Anlegen eines Accounts
@ -548,7 +530,6 @@ title.create.new.account = Neuen Account erstellen
title.account.create.registration = Account Registrieren
title.register.account = Neuen Account registrieren
title.notification = Benachrichtigungen
title.advanced.connection.preferences = Erweiterte Verbindungseinstellungen
title.advanced.connection.usesso = Verwende Single Sign-ON (SSO) <20>ber GSSAPI
title.preferences = Einstellungen
title.error = Fehler
@ -651,14 +632,12 @@ title.input.openwith = Geben sie den Namen des Programms ein, welches sie nutzen
title.error.find.app = Es konnte keine passende Anwendung gefunden werden.
title.input.newname = Geben sie den neuen Namen ein:
title.error.rename.file = Datei konnte nicht umbenannt werden!
title.delete.file = M<EFBFBD>chten sie die Datei wirklich l<>schen?
title.file = Datei
title.filesize = Dateigr<EFBFBD><EFBFBD>e
title.error.delete.file = Datei konnte nicht gel<65>scht werden!
title.error.couldnt.open.file = Datei konnte nicht ge<67>ffnet werden! Eventuell Dateityp unbekannt!
title.bookmarks = Lesezeichen
title.task.notification = Task notification
menuitem.contacts = Kontakte
menuitem.actions = Aktionen
menuitem.bookmarks = Lesezeichen
@ -751,24 +730,17 @@ menuitem.show.offline.users = Zeige Offline User
menuitem.expand.all.groups = <EFBFBD>ffne alle Gruppen
menuitem.collapse.all.groups = Schlie<EFBFBD>e alle Gruppen
menuitem.always.on.top = Immer im Vodergrund
menuitem.join.room = Ausgew<EFBFBD>hlten Raum betreten
menuitem.bookmark.room = Raum als Lesezeichen setzen
menuitem.refresh = Aktualisieren
menuitem.create.room = Raum erstellen oder beitreten
menuitem.expand.all.groups = <EFBFBD>ffne alle Gruppen
menuitem.collapse.all.groups = Schlie<EFBFBD>e alle Gruppen
menuitem.chatframe.option = Einstellungen
status.away = Abwesend
status.custom.messages = Benutzerdefinierte Nachricht
status.do.not.disturb = Nicht st<73>ren
status.on.phone = Am Telefon
status.online = Verf<EFBFBD>gbar
tree.conference.services = Konferenzen
tree.users.in.room = Teilnehmer im Raum
tab.general = Allgemein
tab.proxy = Proxy
tab.contacts = Kontakte
@ -781,7 +753,6 @@ tab.avatar = Avatar
tab.conferences = Konferenzen
tab.sso = SSO
tab.pki = PKI
group.connection = Verbindung
group.conferences.found = Konferenzen gefunden
group.comma.delimited = Komma separiert
@ -791,10 +762,110 @@ group.notification.options = Optionen zur Benachrichtigung
group.search.form = Suchformular
group.search.results = Suchergebnisse
group.login.information = Login Informationen
tooltip.place.a.call = Diesen Teilnehmer Anrufen
tooltip.view.history = Nachrichtenverlauf anzeigen
tooltip.view.changelog = <EFBFBD>nderungen anzeigen
tooltip.view.readme = ReadMe anzeigen
tooltip.notifications = Einstellungen der Benachrichtigungen f<>r eingehende Chats.
tooltip.place.voice.call = VOIP Anruf starten.
answer = Antwort
offline = Offline
online = Online
participants = Teilnehmer
unfiled = Unfiled
while.offline = While offline
action.clear = L<EFBFBD>schen
action.copy = Kopieren
action.cut = Ausschneiden
action.paste = Einf<EFBFBD>gen
action.print = Drucken
action.save = Speichern
action.select.all = Alles Ausw<73>hlen
button.reject = Ablehnen
button.add2 = Hinzuf<EFBFBD>gen
button.copy.to.clipboard = In Zwischenablage kopieren
button.reconnect2 = Wiederverbinden
button.tasks.active = Aktiv
button.tasks.all = Alles
button.view.notes = Notizen anschauen
button.view.tasklist = Aufgabenliste anschauen
button.re.detect = Wiede&rerkennen
delete.log.permanently = Logs permanent l<>schen
delete.permanently = Permanent L<>schen?
gateway.username.password.error = Benutzername und/oder Passwort muss eingetragen sein
group.empty = Keine Offline-User in dieser Gruppe
group.offline = Offline Gruppe
group.chat.name.notification = Deinen Nick gesehen...
group.chat.name.match = Dein Name wurde im Gruppenchat erw<72>hnt:
label.na = n/a
label.add.task = Aufgabe hinzuf<75>gen
label.downloads = Downloads
label.due = Due
label.received = Empfangen
label.show = Zeigen:
label.timeformat = Benutze {0}
label.keystore.location = Keystore Pfad
label.truststore.location = Truststore Pfad
label.pkcs.library.file = PKCS11 library Datei
label.x509.certificate = X.509 Zertifikat
label.apple.keychain = Apple KeyChain
label.add.to.roster = Benutzer zum Roster hinzuf<75>gen
label.audio.device = &Audio Ger<65>t
label.video.device = &Video Ger<65>t
menuitem.dial = W<EFBFBD>hlen
menuitem.languages = Sprachen
menuitem.inivite.again = Nochmals einladen
message = Nachricht
message.alert.notify = Warnungsbenachrichtigung
message.disconnected.shutdown = Deine Verbindung wurde unterbrochen, weil der Server heruntergefahren wurde
message.enter.gadugadu = GaduGadu Benutzername und Passwort eingeben
message.enter.gtalk = GTalk Benutzername und Passwort eingeben
message.enter.irc = IRC Benutzername und Passwort eingeben
message.enter.qq = QQ Benutzername und Passwort eingeben
message.enter.simple = SIMPLE Benutzername und Passwort eingeben
message.enter.xmpp = XMPP Benutzername und Passwort eingeben
message.file.transfer.notification = Dateitransferbenachrichtigung
message.file.transfer.short.message = sendet dir eine Datei mit Namen\:
message.file.transfer.chat.window = Dateitransfer angefordert:
message.gateway.username.error = Benutzername muss eingegeben werden
message.gateway.password.error = Passwort muss eingegeben werden
message.gateway.nickname.error = Spitzname muss eingegeben werden
message.invalid.username.password = Ung<EFBFBD>ltiges Passwort oder Benutzername
message.no.updates = Es gibt keine Aktualisierungen
message.normal = Normale Nachricht
message.reconnect.attempting = Versuche...
message.reconnect.failed = Wiederverbinden gescheitert
message.reconnect.wait = Wiederverbingen in {0} Sekunden
message.restart.spark.changes = Das Plugin wird beim n<>chsten Start von Spark entfernt
message.restart.required = Du musst Spark neustarten damit die <20>nderungen wirksam werden, m<>chtest du jetzt Neustarten?
message.send.to.these.people = Sende an diese Leute
message.server.unavailable = Kann nicht mit Server verbinden: Ung<6E>ltiger Name oder Server nicht erreichbar
message.unrecoverable.error = Ung<EFBFBD>ltiger Benutzername oder Passwort
message.waiting.for.user.to.join = Warte auf {0} zum Beitritt
message.your.voice.granted = Du hast Schreibrechte in diesem Chat bekommen
message.groupchat.require.password = Dieser GruppenChat ben<65>tigt ein Passwort
message.search.for.history = Durchsuche Gespr<70>chsverlauf
status.extended.away = Nicht verf<72>gbar
status.free.to.chat = Bereit zu chatten
status.pending = Schwebend
title.about = <EFBFBD>ber
title.password.required = Passwort ben<65>tigt
title.appearance = Erscheinung
title.delete.file = M<EFBFBD>chtest du diese Datei wirklich l<>schen?
title.gadugadu.registration = GaduGadu Account Informationen
title.general.media = Medien Einstellungen
title.gtalk.registration = GTalk Account Informationen
title.irc.registration = IRC Account Informationen
title.login.error = Login Fehler
title.no.updates = Keine Aktualisierungen
title.notes = Notizen
title.qq.registration = QQ Account Informationen
title.simple.registration = SIMPLE Account Informationen
title.tasks = Aufgaben
title.xmpp.registration = XMPP Account Informationen
title.subscription.request = Kontaktanfrage
tooltip.appearance = <EFBFBD>ndere das Aussehen der Unterhaltungen
tooltip.file.transfer = Pr<EFBFBD>ferenzen f<>r Dateitransfers
tooltip.send.email = Sende eine e-Mail
tooltip.start.chat = Starte eine Konversation
#!#