[kune-commits] r1567 - in trunk: . script src/main/java/cc/kune/barters/client src/main/java/cc/kune/chat/client src/main/java/cc/kune/common/client/ui/dialogs/tabbed src/main/java/cc/kune/core/client/i18n src/main/java/cc/kune/core/public src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/domain/finders src/main/java/cc/kune/gspace/client/options src/main/java/cc/kune/gspace/client/options/general src/main/java/cc/kune/gspace/client/options/license src/main/java/cc/kune/gspace/client/options/logo src/main/java/cc/kune/gspace/client/options/style src/main/java/cc/kune/gspace/client/options/tools src/main/java/cc/kune/pspace/client src/main/java/cc/kune/wiki/client

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Sun Oct 23 02:56:08 CEST 2011


Author: vjrj_
Date: 2011-10-23 02:56:08 +0200 (Sun, 23 Oct 2011)
New Revision: 1567

Added:
   trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/TabTitleGenerator.java
   trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_en.properties
Removed:
   trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
Modified:
   trunk/TODO
   trunk/script/i18n-db2gwt.sh
   trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
   trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java
   trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
   trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
   trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
   trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
   trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsTabView.java
   trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java
   trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePanel.java
   trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptLogoPanel.java
   trunk/src/main/java/cc/kune/gspace/client/options/style/EntityOptStylePanel.java
   trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java
   trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java
   trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
Log:
NEW - # 144: Resolve some i18n typos (sizes, no translated, etc) 
http://kune.ourproject.org/issues/ticket/144

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/TODO	2011-10-23 00:56:08 UTC (rev 1567)
@@ -13,6 +13,26 @@
 
 * SHORT-TERM (URGENT)
 ** TODO workaround websocket issues
+*** compatibilities
+| jetty M2              | new wesocket | socketio  |
+| jetty M2              | x            | v         |
+| jetty M3              | x (1)        | fails     |
+| jetty 8.0.0.v20110901 | v            | fails     |
+| jetty 8.0.3.v20111011 | v            | fails (2) |
+
+  (1) HttpException(400,Unsupported draft specification: 8,null)
+  (2) Disconnected[ERROR]: XHR Connection dropped unexpectedly
+      Disconnected[TIMEOUT]: null
+2011-10-22 14:18:22,327 WARN [qtp1762721320-17] [socketio.server.DefaultSession]  - Session[tFbCSlch_gedPssWQ9TN]: Exception thrown by SocketIOInbound.onConnect()
+java.lang.NullPointerException
+	at org.eclipse.jetty.io.BufferUtil.putHexInt(BufferUtil.java:149)
+	at org.eclipse.jetty.http.HttpGenerator.prepareBuffers(HttpGenerator.java:994)
+	at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:824)
+	at org.eclipse.jetty.server.HttpConnection.flushResponse(HttpConnection.java:617)
+	at org.eclipse.jetty.server.Response.flushBuffer(Response.java:1004)
+	at com.glines.socketio.server.transport.XHRMultipartDataHandler.onWriteData(XHRMultipartDataHandler.java:94)
+
+*** proposal
 Our situation when "use_socketio = false"
 
 | Browser w/ Websocket | Client Side      | Server side         |
@@ -771,4 +791,3 @@
    http://toolserver.org/~merphant/wiki2html/
 * IDEAS
 ** <d> Try to find a way dozer maps directly without use getters/setters (less js code and better performance)
-

Modified: trunk/script/i18n-db2gwt.sh
===================================================================
--- trunk/script/i18n-db2gwt.sh	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/script/i18n-db2gwt.sh	2011-10-23 00:56:08 UTC (rev 1567)
@@ -34,9 +34,9 @@
 fi
 if [[ $L = "en" ]]
 then
-  SEL="SELECT g.tr_key,g.tr_key,g.text,l.code,g.noteForTranslators FROM globalize_translations g, globalize_languages l where g.language_id = l.id AND l.code='en';"
+  SEL="SELECT g.tr_key,g.tr_key,l.code,g.noteForTranslators FROM globalize_translations g, globalize_languages l where g.language_id = l.id AND l.code='en';"
 else 
-  SEL="SELECT g.tr_key,p.tr_key,g.text,l.code,g.noteForTranslators FROM globalize_translations g, globalize_translations p, globalize_languages l where g.language_id = l.id AND l.code='$L' AND (g.parent_id = p.id OR g.parent_id = NULL) AND g.text != '';"
+  SEL="SELECT p.tr_key,g.text,l.code,p.noteForTranslators FROM globalize_translations g, globalize_translations p, globalize_languages l where g.language_id = l.id AND l.code='$L' AND (g.parent_id = p.id OR g.parent_id = NULL) AND g.text != '';"
 fi
 
 if [[ $J -eq 1 ]] 
@@ -51,11 +51,11 @@
   print "public interface KuneConstants extends ConstantsWithLookup {"
 }
 {
-  lang=$4
-  nt=$5
+  lang=$3
+  nt=$4
   if (lang != "en") {
-    trkey=$2
-    trad=$3
+    trkey=$1
+    trad=$2
   } else {
     trkey=$1
     trad=$2
@@ -78,11 +78,11 @@
   print
 }
 {
-  lang=$4
-  nt=$5
+  lang=$3
+  nt=$4
   if (lang != "en") {
-    trkey=$2
-    trad=$3
+    trkey=$1
+    trad=$2
   } else {
     trkey=$1
     trad=$2

Modified: trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/barters/client/BartersClientTool.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -59,7 +59,7 @@
     registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
     registerContentTypeIcon(TYPE_ROOT, navResources.folder());
     registerContentTypeIcon(TYPE_BARTER, navResources.barter());
-    registerEmptyMessages(TYPE_FOLDER, i18n.t("There folder is empty"));
+    registerEmptyMessages(TYPE_FOLDER, i18n.t("This folder is empty"));
     registerEmptyMessages(TYPE_ROOT, i18n.t("There isn't any barter"));
   }
 

Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientTool.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -52,8 +52,8 @@
 
   private void registerIcons() {
     registerContentTypeIcon(TYPE_ROOM, res.groupChat());
-    registerEmptyMessages(TYPE_ROOM,
-        i18n.t("See the archive of old conversations" + TextUtils.IN_DEVELOPMENT_P));
+    registerEmptyMessages(TYPE_ROOM, i18n.tWithNT("See the archive of old conversations"
+        + TextUtils.IN_DEVELOPMENT_P, "with Brackets"));
   }
 
 }

Added: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/TabTitleGenerator.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/TabTitleGenerator.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/TabTitleGenerator.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -0,0 +1,37 @@
+package cc.kune.common.client.ui.dialogs.tabbed;
+
+import cc.kune.common.client.tooltip.Tooltip;
+import cc.kune.common.client.ui.IconLabel;
+import cc.kune.common.client.utils.TextUtils;
+
+import com.google.gwt.resources.client.ImageResource;
+
+public class TabTitleGenerator {
+
+  private static String format(final String title, final int maxLength) {
+    return TextUtils.ellipsis(title, maxLength);
+  }
+
+  public static IconLabel generate(final ImageResource res, final String title) {
+    final IconLabel tabTitle = new IconLabel(res, title);
+    return tabTitle;
+  }
+
+  public static IconLabel generate(final ImageResource res, final String title, final int maxLength) {
+    final IconLabel tabTitle = new IconLabel(res, format(title, maxLength));
+    setTooltip(title, maxLength, tabTitle);
+    return tabTitle;
+  }
+
+  public static void setText(final IconLabel tabTitle, final String title, final int maxLength) {
+    tabTitle.setText(format(title, maxLength));
+    setTooltip(title, maxLength, tabTitle);
+  }
+
+  private static void setTooltip(final String title, final int maxLength, final IconLabel tabTitle) {
+    if (title.length() > maxLength) {
+      Tooltip.to(tabTitle, title);
+    }
+  }
+
+}

Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -45,7 +45,7 @@
 public class I18nUITranslationService extends I18nTranslationService {
   private I18nLanguageDTO currentLang;
   private String currentLanguageCode;
-  private ArrayList<Pair<String, String>> earlyTexts;
+  private final ArrayList<Pair<String, String>> earlyTexts;
   private final I18nServiceAsync i18nService;
   private final KuneConstants kuneConstants;
   private HashMap<String, String> lexicon;
@@ -60,6 +60,7 @@
     this.kuneConstants = kuneConstants;
     final Location loc = WindowUtils.getLocation();
     final String locale = loc.getParameter("locale");
+    earlyTexts = new ArrayList<Pair<String, String>>();
     i18nService.getInitialLanguage(locale, new AsyncCallback<I18nLanguageDTO>() {
       @Override
       public void onFailure(final Throwable caught) {
@@ -74,13 +75,14 @@
         i18nService.getLexicon(currentLang.getCode(), new AsyncCallback<HashMap<String, String>>() {
           @Override
           public void onFailure(final Throwable caught) {
-            Log.error("Workspace adaptation to your language failed:" + caught.getMessage());
+            Log.error("Workspace adaptation to your language failed: " + caught.getMessage());
           }
 
           @Override
           public void onSuccess(final HashMap<String, String> result) {
             lexicon = result;
             session.setCurrentLanguage(currentLang);
+            Log.error("Workspace adaptation to language: " + currentLang.getEnglishName());
             eventBus.fireEvent(new I18nReadyEvent());
             Scheduler.get().scheduleIncremental(new RepeatingCommand() {
 
@@ -223,15 +225,15 @@
    */
   @Override
   public String tWithNT(final String text, final String noteForTranslators) {
+    if (TextUtils.empty(text)) {
+      return text;
+    }
     final String encodeText = TextUtils.escapeHtmlLight(text);
     try {
       return kuneConstants.getString(I18nUtils.convertMethodName(text + " " + noteForTranslators));
     } catch (final MissingResourceException e) {
       if (lexicon == null) {
         Log.warn("i18n not initialized: " + text);
-        if (earlyTexts == null) {
-          earlyTexts = new ArrayList<Pair<String, String>>();
-        }
         earlyTexts.add(Pair.create(text, noteForTranslators));
         return text;
       }

Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -6,4 +6,745 @@
 import com.google.gwt.i18n.client.ConstantsWithLookup;
 
 public interface KuneConstants extends ConstantsWithLookup {
+  String aboutKune();
+
+  String aboutKuneTitleOfDialog();
+
+  String aboutParam();
+
+  String acceptThisMember();
+
+  String aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault();
+
+  String aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt();
+
+  String actions();
+
+  String addANewBuddy();
+
+  String addAsABuddy();
+
+  String administrators();
+
+  String allowAnyUsesOfYourWorkIncludingCommercial();
+
+  String allowModificationsOfYourWork();
+
+  String aLongTermTaskSample();
+
+  String aMidTermTaskSample();
+
+  String andNExternalUser();
+
+  String anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity();
+
+  String anyone();
+
+  String apacheWavePowered();
+
+  String aPostSample();
+
+  String aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators();
+
+  String areYouSure();
+
+  String aShortTermTaskSample();
+
+  String autoAcceptRequestToJoin();
+
+  String available();
+
+  String availableForChat();
+
+  String away();
+
+  String backUsedInButton();
+
+  String barters();
+
+  String barterSample();
+
+  String blackwhiteAThemeName();
+
+  String blogs();
+
+  String blogSample();
+
+  String blueAThemeName();
+
+  String buddies();
+
+  String busy();
+
+  String calendar();
+
+  String campAThemeName();
+
+  String cancel();
+
+  String change();
+
+  String changeIt();
+
+  String changeThisValues();
+
+  String changeThisWorkspaceTheme();
+
+  String changeToAdministrator();
+
+  String changeToCollaborator();
+
+  String changeYourPassword();
+
+  String chat();
+
+  String chatAbout();
+
+  String chatAboutParam();
+
+  String chatAndCommentOnThis();
+
+  String chatroomCreated();
+
+  String chatrooms();
+
+  String chats();
+
+  String chatWithThisGroupMember();
+
+  String chatWithThisPerson();
+
+  String chatWithYourBuddy();
+
+  String choose();
+
+  String clear();
+
+  String clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans();
+
+  String clickToRename();
+
+  String clickToSelectAndConfigureThisTheme();
+
+  String close();
+
+  String closed();
+
+  String closedForNewMembers();
+
+  String collaborators();
+
+  String commonLicensesForCulturalWorks();
+
+  String community();
+
+  String confirmNewBuddy();
+
+  String confirmPlease();
+
+  String connecting();
+
+  String copyleft();
+
+  String copyTheTextToTranslate();
+
+  String create();
+
+  String createANewBarterHere();
+
+  String createANewBlog();
+
+  String createANewBlogPost();
+
+  String createANewChatRoom();
+
+  String createANewDocumentHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb();
+
+  String createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb();
+
+  String createANewFolder();
+
+  String createANewFolderAFolderWillBeASectionInThePublicWeb();
+
+  String createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup();
+
+  String createANewList();
+
+  String createANewMeetingHere();
+
+  String createANewPost();
+
+  String createANewTask();
+
+  String createANewWikipageHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb();
+
+  String createNewGroup();
+
+  String createOne();
+
+  String currentBackgroundImage();
+
+  String currentPassword();
+
+  String defaultAThemeName();
+
+  String delete();
+
+  String documents();
+
+  String donTHaveAnAccount();
+
+  String doubleClickToOpen();
+
+  String doYouWantToJoinThisGroup();
+
+  String doYouWantToWriteAMessageToTheMembersOfThisGroup();
+
+  String doYouWantToWriteAMessageToYourBuddy();
+
+  String doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices();
+
+  String doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackThisCanHelpUsToImproveTheseServices();
+
+  String edit();
+
+  String editAndWriteHereYourFeedback();
+
+  String email();
+
+  String enterLanguage();
+
+  String enterToThisGroupPublicChatRoom();
+
+  String enterToThisGroupPublicChatRoomAndInviteMembers();
+
+  String enterToThisRoom();
+
+  String error();
+
+  String errorsInfo();
+
+  String eurosurAThemeName();
+
+  String events();
+
+  String feedbackOfParam();
+
+  String finishUsedInButton();
+
+  String general();
+
+  String giveUsFeedback();
+
+  String goUpOpenTheContainerFolder();
+
+  String greenAThemeName();
+
+  String greyAThemeName();
+
+  String groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces();
+
+  String groupMembers();
+
+  String groupOptions();
+
+  String groupSPublicChatRoom();
+
+  String groupsWhichThisUserJoined();
+
+  String groupTags();
+
+  String groupType();
+
+  String helpToTranslateKune();
+
+  String helpWithTheTranslation();
+
+  String hereYouCanSelectTheToolsUsed();
+
+  String highcontrastAThemeName();
+
+  String hisHerNetwork();
+
+  String hostedGroups();
+
+  String infoAboutErrors();
+
+  String join();
+
+  String joinsIn();
+
+  String keywordsOrTermsAssociatedWithThisGroup();
+
+  String kuneDevelopmentSite();
+
+  String latestActivityInYourGroups();
+
+  String latestCreatedGroups();
+
+  String latestPublications();
+
+  String leaveThisGroup();
+
+  String license();
+
+  String licenseWizard();
+
+  String lists();
+
+  String loading();
+
+  String longName();
+
+  String longTermTasks();
+
+  String makeThisListNotPublic();
+
+  String markAsDone();
+
+  String media();
+
+  String meetingMinutesOfParamOnParam();
+
+  String meetingSample();
+
+  String memberAccepted();
+
+  String midTermTasks();
+
+  String moderateRequestToJoin();
+
+  String name();
+
+  String nConversationsUnread();
+
+  String newAdvancedPoll();
+
+  String newAlbum();
+
+  String newBarter();
+
+  String newBlog();
+
+  String newDocument();
+
+  String newFolder();
+
+  String newGadget();
+
+  String newImageAndLetsAnnotate();
+
+  String newImagePainter();
+
+  String newList();
+
+  String newMap();
+
+  String newMeetCoordination();
+
+  String newMeeting();
+
+  String newMembersPolicy();
+
+  String newMindmap();
+
+  String newPassword();
+
+  String newPasswordRepeatIt();
+
+  String newPoll();
+
+  String newPost();
+
+  String newRoom();
+
+  String newTask();
+
+  String newTaskFolder();
+
+  String newTwitterSearch();
+
+  String newWikipage();
+
+  String newYesNoMaybeVoting();
+
+  String newYesNoMiniVoting();
+
+  String newYoutubeVideo();
+
+  String nextUsedInButton();
+
+  String no();
+
+  String notes();
+
+  String notPublishedYet();
+
+  String notTranslated();
+
+  String nRecentConversationsUnread();
+
+  String nSubscribedNPosts();
+
+  String offline();
+
+  String ok();
+
+  String oneRecentConversationUnread();
+
+  String onlyAdministrators();
+
+  String onlyMembers();
+
+  String onlyYou();
+
+  String onlyYourBuddies();
+
+  String oopsSomethingHasGoneWrongWithOurServersRetryLaterPlease();
+
+  String open();
+
+  String openArchive();
+
+  String openTheConversationsArchiveOfThisRoom();
+
+  String options();
+
+  String organization();
+
+  String otherKindOfLicenses();
+
+  String others();
+
+  String othersWhoCollaborateWithThisGroup();
+
+  String paramBio();
+
+  String paramCreatedNewContentCreatedForInstance();
+
+  String paramCreatedSuccesfully();
+
+  String paramHadAddedYouAsABuddyDoYouWantToAddHimHerAlso();
+
+  String paramTheDevelopment();
+
+  String paramUnderLicenseParam();
+
+  String password();
+
+  String passwordChangedSuccessfully();
+
+  String pending();
+
+  String pinkAThemeName();
+
+  String pleaseConfirm();
+
+  String pleaseCopyPasteThisInfoToReportProblems();
+
+  String pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents();
+
+  String pleaseSupport();
+
+  String post();
+
+  String preview();
+
+  String processing();
+
+  String project();
+
+  String publicDescription();
+
+  String publicSpaceWhereYouCanSeeAPreviewOfHowYourPersonalOrGroupSpaceLooksLikeOnTheWeb();
+
+  String purpleAThemeName();
+
+  String reasonsNotToUseANonCommercialLicense();
+
+  String recommendations();
+
+  String redAThemeName();
+
+  String redblackAThemeName();
+
+  String register();
+
+  String registerANewGroup();
+
+  String registeredUsers();
+
+  String rejectAsMember();
+
+  String reloadCurrentPage();
+
+  String reloadThis();
+
+  String removeCurrentBackgroundImage();
+
+  String removeThisMember();
+
+  String renaming();
+
+  String reportKuneIssuesProblems();
+
+  String requestToJoinInThisGroup();
+
+  String rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction();
+
+  String saharaAThemeName();
+
+  String saving();
+
+  String search();
+
+  String searching();
+
+  String searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy();
+
+  String security();
+
+  String seeTheArchiveOfOldConversationsInDevelopment();
+
+  String select();
+
+  String selectACreativeCommonsLicenseRecommendedForCulturalWorks();
+
+  String selectAndConfigureThePublicSpaceThemeOfThisGroup();
+
+  String selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA();
+
+  String selectAnImageFromYourComputerAsYourAvatarForBestResultsUseANxnPixelImageBiggerImagesWillBeAutomatica();
+
+  String selectAsTheHomepage();
+
+  String selectLicense();
+
+  String selectOtherKindOfLicenses();
+
+  String selectTheLicenseType();
+
+  String selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople();
+
+  String setYourChatStatus();
+
+  String setYourGroupPreferencesHere();
+
+  String shortName();
+
+  String shortTermUrgentTasks();
+
+  String showHideTheChatWindow();
+
+  String signIn();
+
+  String signInToCollaborate();
+
+  String signOut();
+
+  String signOutOfChat();
+
+  String startACollaborativeDocumentForTheMeetingMinutes();
+
+  String startAPublicAssemblyWithMembers();
+
+  String stats();
+
+  String style();
+
+  String subscribe();
+
+  String subscribeToThisList();
+
+  String successUploading();
+
+  String tags();
+
+  String tasks();
+
+  String thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte();
+
+  String theLicensorPermitsOthersToCopyDistributeDisplayAndPerformOnlyUnalteredCopiesOfTheWork8212NotDerivati();
+
+  String theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkAsWellAsToMakeDerivativeWorksBasedOn();
+
+  String theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkForNonCommercialPurposesOnly();
+
+  String theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkIncludingForCommercialPurposes();
+
+  String theLicensorPermitsOthersToDistributeDerivativeWorksOnlyUnderTheSameLicenseOrOneCompatibleWithTheOneT();
+
+  String theMembersOfThisGroupAreNotPublic();
+
+  String theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers();
+
+  String theNameMustContainOnlyCharactersNumbersAndDashes();
+
+  String thePasswordMustBeBetween6And40Characters();
+
+  String thereIsNothingPostedYetPostSomething();
+
+  String thereIsnTAnyBarter();
+
+  String thereIsnTAnyBlogCreateOne();
+
+  String thereIsnTAnyListCreateOne();
+
+  String thereIsnTAnyMeeting();
+
+  String thereIsnTAnyTaskCreateOne();
+
+  String thisBlogHasnTAnyPostCreateOne();
+
+  String thisDemoOfKune();
+
+  String thisFolderIsEmpty();
+
+  String thisIsACopyleftLicense();
+
+  String thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin();
+
+  String thisIsAppropriateForFreeCulturalWorks();
+
+  String thisIsEmpty();
+
+  String thisIsNotACopyleftLicense();
+
+  String thisIsNotAppropriateForFreeCulturalWorks();
+
+  String thisIsNotAValidEmail();
+
+  String thisIsOnlyABarterSampleYouCanInviteOtherParticipantsToThisBarterButAlsoPublishToTheGeneralPublicAllo();
+
+  String thisIsOnlyAMeetSampleYouCanInviteOtherParticipantsToThisMeetingButAlsoPublishToTheGeneralPublicAllow();
+
+  String thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog();
+
+  String thisIsOnlyAPreviewOfHowThisPageWouldLookLikeToTheGeneralPublicOnTheInternet();
+
+  String thisIsOnlyAPreviewOfHowThisWebpageWouldLookLikeToTheGeneralPublicOnTheInternet();
+
+  String thisIsOnlyATaskSampleYouCanEditItRenameIt();
+
+  String thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser();
+
+  String thisIsTheDefaultLicenseForAllTheContentsOfThisGroupAlthoughYouCanChooseADifferentLicenseForSpecificC();
+
+  String thisSite();
+
+  String thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT();
+
+  String thisUserHasNoBuddiesYet();
+
+  String thisUserHasNotWrittenItsBiographyYet();
+
+  String thisUserSBuddies();
+
+  String thisUserSGroupsAndBuddies();
+
+  String thisWikiIsEmpty();
+
+  String thisWillOpenASpecificChatroomToChatAboutThisPageOrDocumentItSUsefulToChatWithOthersAboutSomethingWhi();
+
+  String tip();
+
+  String to();
+
+  String toJoinAChatroomYouNeedToBeOnline();
+
+  String tools();
+
+  String toParamForExampleToSpanish();
+
+  String translated();
+
+  String translateThis();
+
+  String transparentAThemeName();
+
+  String typeSomeKeywordThatDefineYourGroup();
+
+  String typeSomethingToSearchForUsersAndGroupsInParam();
+
+  String useACopyleftLicenseRecommended();
+
+  String useAnotherKindOfLicenseAdvanced();
+
+  String username();
+
+  String userOptions();
+
+  String usersAndGroupsCollaboratingInThisGroup();
+
+  String userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate();
+
+  String usersPendingToBeAcceptedInThisGroupByTheAdministrators();
+
+  String usersWhoCanAdministrateThisGroup();
+
+  String usersWhoCanViewThisMemberList();
+
+  String usersWhoCanViewYourNetwork();
+
+  String useTheGnuLicensesRecommendedForFreeSoftwareWorksAndOtherKindOfLicenses();
+
+  String visitHisHerHomepage();
+
+  String visitThisGroupSHomepage();
+
+  String visitThisMemberSHomepage();
+
+  String visitYourHomepage();
+
+  String voting();
+
+  String welcome();
+
+  String welcomeToTheParamPublicChatRoom();
+
+  String weRecommendParamLicensesSpeciallyForPracticalWorks();
+
+  String whiteblackAThemeName();
+
+  String whyDoWeNeedALicense();
+
+  String wiki();
+
+  String wikiPageSample();
+
+  String withACreativeCommonsLicenseYouKeepYourCopyrightButAllowPeopleToCopyAndDistributeYourWorkProvidedThey();
+
+  String writeToTheAdministratorsOfThisGroup();
+
+  String writeToTheMembersOfThisGroup();
+
+  String writeToYourBuddy();
+
+  String writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam();
+
+  String writeUsWithSomeFeedbackForHelpUsToImproveTheseServices();
+
+  String yes();
+
+  String yesAsLongAsOtherShareAlike();
+
+  String youAreNowMemberOfThisGroup();
+
+  String youCanAlsoUploadABackground();
+
+  String youCanChangeThisLicenseLater();
+
+  String youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes();
+
+  String youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe();
+
+  String yourGroups();
+
+  String yourHomepage();
+
+  String yourHomePageInParam();
+
+  String yourLanguage();
+
+  String yourPreferences();
 }

Deleted: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
===================================================================

Copied: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_en.properties (from rev 1556, trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_en.properties	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_en.properties	2011-10-23 00:56:08 UTC (rev 1567)
@@ -0,0 +1,385 @@
+#
+# Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
+#
+
+writeToYourBuddy = Write to your buddy
+chatWithThisGroupMember = Chat with this group member
+chatWithYourBuddy = Chat with your buddy
+addAsABuddy = Add as a buddy
+chat = Chat ;)
+oopsSomethingHasGoneWrongWithOurServersRetryLaterPlease = Oops! Something has gone wrong with our servers. Retry later, please.
+loading = Loading
+join = Join
+requestToJoinInThisGroup = Request to Join in this group
+writeToTheMembersOfThisGroup = Write to the members of this group
+writeToTheAdministratorsOfThisGroup = Write to the administrators of this group
+leaveThisGroup = Leave this group
+usersWhoCanViewThisMemberList = Users who can view this member list
+options = Options
+newMembersPolicy = New members policy
+anyone = anyone
+onlyMembers = only members
+moderateRequestToJoin = moderate request to join
+addANewBuddy = Add a new buddy
+closedForNewMembers = closed for new members
+autoAcceptRequestToJoin = auto accept request to join
+onlyAdministrators = only administrators
+onlyYourBuddies = only your buddies
+usersWhoCanViewYourNetwork = Users who can view your network
+onlyYou = only you
+groupMembers = Group members
+usersAndGroupsCollaboratingInThisGroup = Users and groups collaborating in this group
+administrators = Administrators
+usersWhoCanAdministrateThisGroup = Users who can administrate this group
+collaborators = Collaborators
+othersWhoCollaborateWithThisGroup = Others who collaborate with this group
+thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin = This is an orphaned project, if you are interested in contributing please request to join
+pending = Pending
+theMembersOfThisGroupAreNotPublic = The members of this group are not public
+usersPendingToBeAcceptedInThisGroupByTheAdministrators = Users pending to be accepted in this group by the administrators
+changeToCollaborator = Change to collaborator
+changeToAdministrator = Change to administrator
+removeThisMember = Remove this member
+visitThisGroupSHomepage = Visit this group's homepage
+visitThisMemberSHomepage = Visit this member's homepage
+acceptThisMember = Accept this member
+rejectAsMember = Reject as member
+visitYourHomepage = Visit your homepage
+visitHisHerHomepage = Visit his/her homepage
+hisHerNetwork = His/her network:
+thisUserSGroupsAndBuddies = This user's groups and buddies
+buddies = Buddies
+thisUserSBuddies = This user's buddies
+joinsIn = Joins in
+groupsWhichThisUserJoined = Groups which this user Joined
+yourGroups = Your groups
+yourHomepage = Your homepage
+thisSite = this site
+yourHomePageInParam = Your home page in [%s]
+userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate = User space: it shows a list of all documents and contents in which you participate
+groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces = Group and personal space: Where you can create and publish contents for your personal or group web spaces
+publicSpaceWhereYouCanSeeAPreviewOfHowYourPersonalOrGroupSpaceLooksLikeOnTheWeb = Public space: Where you can see a preview of how your Personal or Group Space looks like on the web
+latestPublications = Latest publications
+stats = Stats
+registeredUsers = Registered users:
+hostedGroups = Hosted groups:
+latestCreatedGroups = Latest created groups
+latestActivityInYourGroups = Latest activity in your groups
+tags = Tags
+keywordsOrTermsAssociatedWithThisGroup = Keywords or terms associated with this group
+typeSomethingToSearchForUsersAndGroupsInParam = Type something to search for users and groups in [%s]
+search = Search
+close = Close
+groupOptions = Group options
+setYourGroupPreferencesHere = Set your group preferences here
+userOptions = User options
+helpWithTheTranslation = Help with the translation
+yourPreferences = Your preferences
+giveUsFeedback = Give us feedback!
+writeUsWithSomeFeedbackForHelpUsToImproveTheseServices = Write us with some feedback for help us to improve these services
+showHideTheChatWindow = Show/hide the chat window
+setYourChatStatus = Set your chat status
+available = Available
+availableForChat = Available for chat
+away = Away
+busy = Busy
+signOutOfChat = Sign out of chat
+groupSPublicChatRoom = Group's public chat room
+enterToThisGroupPublicChatRoom = Enter to this group public chat room
+startAPublicAssemblyWithMembers = Start a public assembly with members
+enterToThisGroupPublicChatRoomAndInviteMembers = Enter to this group public chat room and invite members
+reportKuneIssuesProblems = Report Kune issues/problems
+apacheWavePowered = Apache Wave powered
+aboutKune = About kune
+errorsInfo = Errors info
+signInToCollaborate = Sign in to collaborate
+pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents = Please sign in or register to get full access to [%s] tools and contents
+signOut = Sign out
+createNewGroup = Create New Group
+createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup = Create a new group for your initiative or organization (NGO, collective, academic group...)
+chatWithThisPerson = Chat with this person
+kuneDevelopmentSite = kune development site
+andNExternalUser = and [%d] external user
+thisIsOnlyAPreviewOfHowThisPageWouldLookLikeToTheGeneralPublicOnTheInternet = This is only a preview of how this page would look like to the general public on the internet.
+preview = Preview
+paramUnderLicenseParam = © [%s], under license: [%s]
+clickToRename = Click to rename
+createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Create a New Document. If you choose to publish it, this document will appear as a new 'Page' in the public web
+reloadCurrentPage = Reload current page
+newDocument = New document
+goUpOpenTheContainerFolder = Go up: Open the container folder
+edit = Edit
+chatAbout = Chat about
+chatAndCommentOnThis = Chat and comment on this
+nConversationsUnread = [%d] conversations unread
+memberAccepted = Member accepted
+general = General
+changeThisValues = Change this values:
+theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers = The name must be between 3 and 15 lowercase Western characters and/or numbers
+shortName = Short name
+longName = Long name
+tools = Tools
+hereYouCanSelectTheToolsUsed = Here you can select the tools used:
+thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT = This tool cannot be disabled as long as it’s where the group’s home page is located. Change the default home page to another tool then try again.
+choose = Choose
+changeThisWorkspaceTheme = Change this workspace theme:
+selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA = Select an image from your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.
+style = Style
+currentBackgroundImage = Current background image:
+youCanAlsoUploadABackground = You can also upload a background:
+change = Change
+clear = Clear
+removeCurrentBackgroundImage = Remove current background image
+selectAndConfigureThePublicSpaceThemeOfThisGroup = Select and configure the public space theme of this group:
+clickToSelectAndConfigureThisTheme = Click to select and configure this theme
+redblackAThemeName = redblack
+purpleAThemeName = purple
+greenAThemeName = green
+highcontrastAThemeName = highcontrast
+blackwhiteAThemeName = blackwhite
+eurosurAThemeName = eurosur
+campAThemeName = camp
+defaultAThemeName = default
+blueAThemeName = blue
+redAThemeName = red
+greyAThemeName = grey
+saharaAThemeName = sahara
+pinkAThemeName = pink
+transparentAThemeName = transparent
+whiteblackAThemeName = whiteblack
+license = License
+thisIsTheDefaultLicenseForAllTheContentsOfThisGroupAlthoughYouCanChooseADifferentLicenseForSpecificC = This is the default license for all the contents of this group (although you can choose a different license for specific contents):
+enterLanguage = Enter language
+searching = Searching...
+yourLanguage = Your language
+name = Name
+security = Security
+changeYourPassword = Change your password:
+currentPassword = Current password
+thePasswordMustBeBetween6And40Characters = The password must be between 6 and 40 characters
+newPassword = New password
+newPasswordRepeatIt = New password (repeat it)
+changeIt = Change it
+youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe = You cannot disable this tool because it's where your home page is located. To do that you have to select other content as the default home page but in another tool.
+selectAnImageFromYourComputerAsYourAvatarForBestResultsUseANxnPixelImageBiggerImagesWillBeAutomatica = Select an image from your computer as your avatar. For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.
+passwordChangedSuccessfully = Password changed successfully
+newGadget = New Gadget
+voting = Voting
+media = Media
+calendar = Calendar
+others = Others
+thisDemoOfKune = this demo of kune
+paramBio = [%s] Bio
+thisUserHasNotWrittenItsBiographyYet = This user has not written its biography yet
+longTermTasks = Long-term tasks
+midTermTasks = Mid-term tasks
+shortTermUrgentTasks = Short-term (urgent) tasks
+aLongTermTaskSample = A long-term task sample
+thisIsOnlyATaskSampleYouCanEditItRenameIt = This is only a task sample. You can edit it, rename it
+aMidTermTaskSample = A mid-term task sample
+aShortTermTaskSample = A short-term task sample
+wikiPageSample = Wiki page sample
+thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser = This is only a wiki page sample. You can edit or rename it, but also any other user.
+blogSample = Blog sample
+aPostSample = A post sample
+thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog = This is only a post sample. You can edit it, rename the post and this blog
+welcome = Welcome
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Thanks for joining [%s]. Now you can actively participate in [%s]. You can also use your personal space to publish contents. Note: your email is not verified, please follow the instructions you will receive by email.
+thisUserHasNoBuddiesYet = This user has no buddies yet
+newTask = New task
+createANewTask = Create a new task
+doubleClickToOpen = Double click to open
+createANewFolder = Create a new folder
+newTaskFolder = New task folder
+open = Open
+delete = Delete
+actions = Actions
+connecting = Connecting
+offline = Offline
+newList = New list
+reloadThis = Reload this
+createANewList = Create a new list
+yes = Yes
+confirmPlease = Confirm, please:
+thisWillOpenASpecificChatroomToChatAboutThisPageOrDocumentItSUsefulToChatWithOthersAboutSomethingWhi = This will open a specific chatroom to chat about this page or document (it's useful to chat with others about something while reading/modifing it). Are you sure?
+no = No
+chatAboutParam = Chat about: [%s]
+barterSample = Barter sample
+thisIsOnlyABarterSampleYouCanInviteOtherParticipantsToThisBarterButAlsoPublishToTheGeneralPublicAllo = This is only a barter sample. You can invite other participants to this barter, but also publish to the general public allowing you to share services, goods, etc.
+newBarter = New barter
+newFolder = New folder
+createANewBarterHere = Create a New Barter here
+newWikipage = New wikipage
+createANewFolderAFolderWillBeASectionInThePublicWeb = Create a new folder. A folder will be a 'section' in the public web
+createANewWikipageHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Create a New Wikipage here. If you choose to publish it, this document will appear as a new 'Page' in the public web
+selectAsTheHomepage = Select as the homepage
+registerANewGroup = Register a new group
+register = Register
+cancel = Cancel
+publicDescription = Public description
+groupTags = Group tags
+typeSomeKeywordThatDefineYourGroup = type some keyword that define your group
+groupType = Group type
+project = Project
+organization = Organization
+aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = A project is a kind of group in which the joining of new members is moderated by the project administrators.
+anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity = An organization works the same way as a project, except that it must be a legal entity.
+closed = Closed
+aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault = A Closed group is a private project, which contents are only accessible to its members (by default).
+community = Community
+aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = A community is a group of users with shared interests (for instance the environmental community or the LGBT community). It is open to any new member to join freely without the moderation of the administrators.
+paramCreatedNewContentCreatedForInstance = [%s] created
+notPublishedYet = Not Published yet
+thisIsOnlyAPreviewOfHowThisWebpageWouldLookLikeToTheGeneralPublicOnTheInternet = This is only a preview of how this webpage would look like to the general public on the internet.
+createANewDocumentHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Create a New Document here. If you choose to publish it, this document will appear as a new 'Page' in the public web
+newPoll = New poll
+newYesNoMaybeVoting = New Yes/No/Maybe/+ Voting
+newAdvancedPoll = New Advanced Poll
+newMeeting = New meeting
+newYesNoMiniVoting = New Yes/no/Mini Voting
+newMeetCoordination = New meet coordination
+newMap = New Map
+newImageAndLetsAnnotate = New Image (and lets annotate)
+newYoutubeVideo = New Youtube video
+newAlbum = New Album
+newTwitterSearch = New twitter search
+newMindmap = New MindMap
+newBarter = New Barter
+newImagePainter = New Image Painter
+signIn = Sign in
+password = Password
+donTHaveAnAccount = Don't have an account?
+username = Username
+email = Email
+createOne = Create one.
+thisIsNotAValidEmail = This is not a valid email
+newBlog = New blog
+createANewBlog = Create a new blog
+newPost = New post
+createANewBlogPost = Create a new blog post
+thisBlogHasnTAnyPostCreateOne = This blog hasn't any post, create one
+renaming = Renaming
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackThisCanHelpUsToImproveTheseServices = Do you want to write us with some positive or negative feedback? This can help us to improve these services
+doYouWantToJoinThisGroup = Do you want to join this group?
+youAreNowMemberOfThisGroup = You are now member of this group
+newRoom = New room
+createANewChatRoom = Create a new chat room
+enterToThisRoom = Enter to this room
+openTheConversationsArchiveOfThisRoom = Open the conversations archive of this room
+openArchive = Open archive
+aboutKuneTitleOfDialog = About Kune
+ok = Ok
+processing = Processing
+aboutParam = About [%s]
+meetingSample = Meeting sample
+thisIsOnlyAMeetSampleYouCanInviteOtherParticipantsToThisMeetingButAlsoPublishToTheGeneralPublicAllow = This is only a meet sample. You can invite other participants to this meeting, but also publish to the general public allowing you to to help in the organization, call and speed-up of events.
+markAsDone = Mark as done
+createANewPost = Create a new post
+makeThisListNotPublic = Make this list not public
+subscribeToThisList = Subscribe to this list
+subscribe = Subscribe
+nSubscribedNPosts = [%d] subscribed, [%d] posts
+confirmNewBuddy = Confirm new buddy
+paramHadAddedYouAsABuddyDoYouWantToAddHimHerAlso = [%s] had added you as a buddy. Do you want to add him/her also?
+paramCreatedSuccesfully = [%s] created succesfully
+nRecentConversationsUnread = [%d] recent conversations unread
+writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam = Write us with some feedback for help us to improve the services on [%s]
+oneRecentConversationUnread = One recent conversation unread
+pleaseConfirm = Please confirm
+startACollaborativeDocumentForTheMeetingMinutes = Start a collaborative document for the meeting minutes?
+meetingMinutesOfParamOnParam = Meeting minutes of [%s] on [%s]
+youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes = You can collaboratively edit this document with the meeting minutes.
+createANewMeetingHere = Create a New Meeting here
+thereIsnTAnyListCreateOne = There isn't any list, create one
+create = Create
+areYouSure = Are you sure?
+welcomeToTheParamPublicChatRoom = Welcome to the [%s] public chat room
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices = Do you want to write us with some positive or negative feedback about [%s]? This can help us to improve these services
+feedbackOfParam = Feedback of [%s]
+editAndWriteHereYourFeedback = Edit and write here your feedback.
+copyTheTextToTranslate = Copy the text to translate
+translateThis = translate this:
+notes = Notes:
+tip = Tip:
+clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans = Click Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved
+notTranslated = Not translated
+recommendations = Recommendations
+translated = Translated
+helpToTranslateKune = Help to translate kune
+to = to
+toParamForExampleToSpanish = to [%s]:
+saving = Saving
+successUploading = Success uploading
+thereIsnTAnyTaskCreateOne = There isn't any task, create one
+searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy = Search the user you want to add and in his/her homepage click 'Add as a buddy'
+doYouWantToWriteAMessageToTheMembersOfThisGroup = Do you want to write a message to the members of this group?
+post = Post
+thisIsEmpty = This is empty.
+documents = documents
+thisFolderIsEmpty = This folder is empty
+barters = barters
+thereFolderIsEmpty = There folder is empty
+blogs = blogs
+thereIsnTAnyBarter = There isn't any barter
+thereIsnTAnyBlogCreateOne = There isn't any blog, create one
+infoAboutErrors = Info about errors
+chatrooms = chatrooms
+events = events
+pleaseCopyPasteThisInfoToReportProblems = Please copy/paste this info to report problems
+seeTheArchiveOfOldConversationsInDevelopment = See the archive of old conversations (in development)
+thereIsNothingPostedYetPostSomething = There is nothing posted yet. Post something
+lists = lists
+thisWikiIsEmpty = This wiki is empty
+thereIsnTAnyMeeting = There isn't any meeting
+wiki = wiki
+tasks = tasks
+rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction = Right now, the public web space of this group, it's under construction
+paramTheDevelopment = [%s] the development
+pleaseSupport = Please support
+inDevelopment =  (in development)
+chats = chats
+theNameMustContainOnlyCharactersNumbersAndDashes = The name must contain only characters, numbers and dashes
+chatroomCreated = Chatroom created
+doYouWantToWriteAMessageToYourBuddy = Do you want to write a message to your buddy?
+error = Error
+toJoinAChatroomYouNeedToBeOnline = To join a chatroom you need to be 'online'
+licenseWizard = License wizard
+backUsedInButton = « Back
+nextUsedInButton = Next »
+select = Select
+finishUsedInButton = Finish
+selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople = Select the license you prefer using for sharing your group contents with other people:
+useACopyleftLicenseRecommended = Use a copyleft license (recommended)
+useAnotherKindOfLicenseAdvanced = Use another kind of license (advanced)
+copyleft = copyleft
+weRecommendParamLicensesSpeciallyForPracticalWorks = We recommend [%s] licenses, specially for practical works
+whyDoWeNeedALicense = Why do we need a license?
+youCanChangeThisLicenseLater = You can change this license later
+selectTheLicenseType = Select the license type:
+commonLicensesForCulturalWorks = Common licenses for cultural works
+otherKindOfLicenses = Other kind of licenses
+selectACreativeCommonsLicenseRecommendedForCulturalWorks = Select a Creative Commons license (recommended for cultural works)
+useTheGnuLicensesRecommendedForFreeSoftwareWorksAndOtherKindOfLicenses = Use the GNU licenses (recommended for free software works) and other kind of licenses
+withACreativeCommonsLicenseYouKeepYourCopyrightButAllowPeopleToCopyAndDistributeYourWorkProvidedThey = With a Creative Commons license, you keep your copyright but allow people to copy and distribute your work provided they give you credit &#8212; and only on the conditions you specify here. What do you want to do?
+allowAnyUsesOfYourWorkIncludingCommercial = Allow any uses of your work, including commercial?
+allowModificationsOfYourWork = Allow modifications of your work?
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkIncludingForCommercialPurposes = The licensor permits others to copy, distribute, display, and perform the work, including for commercial purposes
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkForNonCommercialPurposesOnly = The licensor permits others to copy, distribute, display, and perform the work for non-commercial purposes only
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkAsWellAsToMakeDerivativeWorksBasedOn = The licensor permits others to copy, distribute, display and perform the work, as well as to make derivative works based on it
+yesAsLongAsOtherShareAlike = Yes, as long as other share alike
+theLicensorPermitsOthersToDistributeDerivativeWorksOnlyUnderTheSameLicenseOrOneCompatibleWithTheOneT = The licensor permits others to distribute derivative works only under the same license or one compatible with the one that governs the licensor's work
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformOnlyUnalteredCopiesOfTheWork8212NotDerivati = The licensor permits others to copy, distribute, display and perform only unaltered copies of the work &#8212; not derivative works based on it
+thisIsACopyleftLicense = This is a copyleft license.
+thisIsNotACopyleftLicense = This is not a copyleft license.
+thisIsAppropriateForFreeCulturalWorks = This is appropriate for free cultural works.
+thisIsNotAppropriateForFreeCulturalWorks = This is not appropriate for free cultural works.
+reasonsNotToUseANonCommercialLicense = Reasons not to use a non commercial license.
+selectOtherKindOfLicenses = Select other kind of licenses:
+selectLicense = Select license
+thisUserDoesNotHaveAHomepage = This user does not have a homepage
+notPublicable = Not Publicable
+
+
+
+
+

Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties	2011-10-23 00:56:08 UTC (rev 1567)
@@ -1,8 +1,377 @@
 #
 # Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
 #
-addAsABuddienull = Añadir como colega
-chatNull = Chat ;)
+
+writeToYourBuddy = Escribe a tu colega
+chatWithThisGroupMember = Chatea con este/a miembro del grupo
+chatWithYourBuddy = Chatea con tu colega
+addAsABuddy = Añadelo/a como colega
+chat = Chat ;)
+oopsSomethingHasGoneWrongWithOurServersRetryLaterPlease = ¡Uuups! Algo ha ido mal en nuestros servidores. Inténtalo de nuevo, por favor.
+loading = Cargando
+join = Participa
+requestToJoinInThisGroup = Solicita unirte a este grupo
+writeToTheMembersOfThisGroup = Escribe a l at s miembr at s de este grupo
+writeToTheAdministratorsOfThisGroup = Escribe a l at s administradoræs de este grupo
+leaveThisGroup = Deja este grupo
+usersWhoCanViewThisMemberList = Usuri at s que pueden ver la lista de este grupo
+options = Opciones
+newMembersPolicy = Política para nuevos miembros
+anyone = cualquiera
+onlyMembers = solo miembros
+moderateRequestToJoin = moderar las peticiones de participación
+addANewBuddy = Añade un colega
+closedForNewMembers = cerrado para nuevos miembros
+autoAcceptRequestToJoin = autoaceptar las peticiones de participación
+onlyAdministrators = solo administradoræs
+onlyYourBuddies = solo tus colegas
+usersWhoCanViewYourNetwork = Usuarios/as que pueden ver tu red
+onlyYou = solo tú
+groupMembers = Miembros del grupo
+usersAndGroupsCollaboratingInThisGroup = Usuari at s y grupos colaborando en este grupo
+administrators = Administradoræs
+usersWhoCanAdministrateThisGroup = Usuari at s que pueden administrar este grupo
+collaborators = Colaboradoræs
+othersWhoCollaborateWithThisGroup = Otr at s que colaboran en este grupo
+thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin = Este es un proyecto huérfano, si estás interesado/a en contribuir por favor, solicita participar en él
+pending = Pendiente
+theMembersOfThisGroupAreNotPublic = Los miembros de este grupo no son públicos
+usersPendingToBeAcceptedInThisGroupByTheAdministrators = Usuari at s pendientes de ser aceptad at s en este grupo por l at s administradoræs
+changeToCollaborator = Cambiar a colaborador/a
+changeToAdministrator = Cambiar a administrador/a
+removeThisMember = Echar a este miembro
+visitThisGroupSHomepage = Visita la página principal del grupo
+visitThisMemberSHomepage = Visita la página de este miembro
+acceptThisMember = Aceptar como miembro
+rejectAsMember = Rechazar como miembro
+visitYourHomepage = Visita tu página inicial
+visitHisHerHomepage = Visita su página inicial
+hisHerNetwork = Su red social:
+thisUserSGroupsAndBuddies = Los colegas de estæ usuari@
+buddies = Colegas
+thisUserSBuddies = Los colegas de estæ usuari@
+joinsIn = Participa en
+groupsWhichThisUserJoined = Grupos en los que este miembro participa
+yourGroups = Tus grupos
+yourHomepage = Tu página inicial
+thisSite = este sitio
+yourHomePageInParam = Tu página inicial en [%s]
+userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate = Espacio de usuari@: muestra una lista de documentos y contenidos en los que tú participas
+groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces = Espacio personal y grupal: Donde puedes crear y publicar contenidos para tu espacio web personal o grupal
+publicSpaceWhereYouCanSeeAPreviewOfHowYourPersonalOrGroupSpaceLooksLikeOnTheWeb = Espacio público: Donde puedes ver una vista previa de como tu espacio personal o grupal se ve en la web
+latestPublications = Últimas publicaciones
+stats = Estadísticas
+registeredUsers = Usuari at s registrad at s:
+hostedGroups = Grupos alojados:
+latestCreatedGroups = Últimos grupos creados
+latestActivityInYourGroups = Última actividad en tus grupos
+tags = Tags
+keywordsOrTermsAssociatedWithThisGroup = Palabras clave o términos asociados con este grupo
+typeSomethingToSearchForUsersAndGroupsInParam = Escribe algo para buscar usuari at s y grupos en [%s]
 search = Buscar
-thisUserDoesNotHaveAHomepage = Este/a usuario/a no tiene una página personal
-openArchive = Abrir archivo
\ No newline at end of file
+close = Cerrar
+groupOptions = Opciones del grupo
+setYourGroupPreferencesHere = Configura aquí las preferencias de tu grupo
+userOptions = Opciones de usuari@
+helpWithTheTranslation = Ayuda con la traducción
+yourPreferences = Tus preferencias
+giveUsFeedback = ¡Danos feedback!
+writeUsWithSomeFeedbackForHelpUsToImproveTheseServices = Escríbenos con tu feedback para ayudarnos a mejorar estos servicios
+showHideTheChatWindow = Mostrar/Ocultar la ventana de chat
+setYourChatStatus = Establecer tu estado de chat
+available = Disponible
+availableForChat = Disponible para chatear
+away = Estoy fuera
+busy = Ocupad@
+signOutOfChat = Desconecta el chat
+groupSPublicChatRoom = Salas de chat públicas del grupo
+enterToThisGroupPublicChatRoom = Entra a esta sala de chat pública del grupo
+startAPublicAssemblyWithMembers = Comienza una asamblea pública con los miembros
+enterToThisGroupPublicChatRoomAndInviteMembers = Entra a la sala pública de chat de este grupo e invita a los miembros
+reportKuneIssuesProblems = Reporta problemas de Kune
+apacheWavePowered = Funciona con Apache Wave
+aboutKune = Sobre kune
+errorsInfo = Información sobre errores
+signInToCollaborate = Entra para colaborar
+pleaseSignInOrRegisterToGetFullAccessToParamToolsAndContents = Por favor entra o regístrate para tener acceso total a las herramientas y contenidos de [%s]
+signOut = Salir
+createNewGroup = Crea un nuevo grupo
+createANewGroupForYourInitiativeOrOrganizationNgoCollectiveAcademicGroup = Crea un nuevo grupo para tu iniciativa u organización (ONG, colectivo, académico, grupo)
+chatWithThisPerson = Chatea con esta persona
+kuneDevelopmentSite = Sitio de desarrollo de Kune
+andNExternalUser = y [%d] usuarios externos
+thisIsOnlyAPreviewOfHowThisPageWouldLookLikeToTheGeneralPublicOnTheInternet = Esto es solo una vista previa de como está página la verá el público general en Internet
+preview = Vista previa
+paramUnderLicenseParam = © [%s], bajo licencia: [%s]
+clickToRename = Pulsa para renombrar
+createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crea un Nuevo Documento. Si luego lo publicas, este documento aparecerá como un nueva 'Página' en vuestra web pública
+reloadCurrentPage = Recargar esta página
+newDocument = Nuevo documento
+goUpOpenTheContainerFolder = Ir arriba: Abrir la carpeta contenedora
+edit = Editar
+chatAbout = Chatea sobre esto
+chatAndCommentOnThis = Chatea y comenta esto
+nConversationsUnread = [%d] conversaciones sin leer
+memberAccepted = Miembro aceptado
+general = General
+changeThisValues = Cambia estos valores:
+theNameMustBeBetween3And15LowercaseWesternCharactersAndOrNumbers = El nombre debe tener entre 3 y 15 caracteres occidentales y/o números
+shortName = Nombre corto
+longName = Nombre largo
+tools = Herramientas
+hereYouCanSelectTheToolsUsed = Aquí puedes seleccionar las herramientas a usar:
+thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT = Esta herramienta no puede ser deshabilitada ya que en ella está alojada la página inicial del grupo. Cambia la página inicial de este grupo a otra herramienta y luego inténtalo de nuevo
+choose = Elegir
+changeThisWorkspaceTheme = Cambiar el tema de este escritorio:
+selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA = Elige una imagen de tu ordenador como logo de este grupo. Para mejores resultados usa una imagen de [%d]x[%d] pixels. Imágenes mayores se redimensionarán automáticamente.
+style = Estilo
+currentBackgroundImage = Imagen de fondo actual:
+youCanAlsoUploadABackground = También puedes subir una imagen de fondo:
+change = Cambiar
+clear = Quitar
+removeCurrentBackgroundImage = Quita la imagen actual de fondo
+selectAndConfigureThePublicSpaceThemeOfThisGroup = Selecciona y configura el tema del espacio público de este grupo:
+clickToSelectAndConfigureThisTheme = Pulsa para configurar y seleccionar este tema
+redblackAThemeName = rojinegro
+purpleAThemeName = violeta
+greenAThemeName = verde
+highcontrastAThemeName = alto contraste
+blackwhiteAThemeName = blanco y negro
+eurosurAThemeName = eurosur
+campAThemeName = acampa
+defaultAThemeName = defecto
+blueAThemeName = azul
+redAThemeName = rojo
+greyAThemeName = gris
+saharaAThemeName = sahara
+pinkAThemeName = rosa
+transparentAThemeName = transparente
+whiteblackAThemeName = blanco y negro
+license = Licencia
+thisIsTheDefaultLicenseForAllTheContentsOfThisGroupAlthoughYouCanChooseADifferentLicenseForSpecificC = Esta es la licencia por defecto para todos los contenidos de este grupo (aunque puedes elegir una licencia diferente para contenidos específicos):
+enterLanguage = Introduce el idioma
+searching = Buscando...
+yourLanguage = Tu idioma
+name = Nombre
+security = Seguridad
+changeYourPassword = Cambia tu contraseña
+currentPassword = Contraseña actual
+thePasswordMustBeBetween6And40Characters = La contraseña debe tener entre 6 y 40 caracteres
+newPassword = Nueva contraseña
+newPasswordRepeatIt = Nueva contraseña (repítela)
+changeIt = Cambiala
+youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe = No puedes desactivar esta herramienta porque es donde tu página inicial está localizada. Para hacerlo tiene que seleccionar otro contenido de otra herramienta como página inicial.
+selectAnImageFromYourComputerAsYourAvatarForBestResultsUseANxnPixelImageBiggerImagesWillBeAutomatica = Selecciona una imagen de tu ordenador como tu avatar. Para resultados óptimos usa una imagen de [%d]x[%d] píxeles. Imágenes más grandes serán reajustadas automáticamente.
+passwordChangedSuccessfully = La contraseña se ha cambiado correctamente
+newGadget = Nuevo Gadget
+voting = Votación
+media = Medios
+calendar = Calendario
+others = Otros
+thisDemoOfKune = esta demo de kune
+paramBio = Biografía de [%s]
+thisUserHasNotWrittenItsBiographyYet = Este usuario no ha escrito su biografía todavía
+longTermTasks = Tareas a largo plazo
+midTermTasks = Tareas a medio plazo
+shortTermUrgentTasks = Tareas a corto plazo (urgentes)
+aLongTermTaskSample = Ejemplo de tarea de largo plazo
+thisIsOnlyATaskSampleYouCanEditItRenameIt = Esto es solo un ejemplo de tarea. Puedes editarla o renombrarla
+aMidTermTaskSample = Ejemplo de tarea a medio plazo
+aShortTermTaskSample = Una tarea a corto plazo
+wikiPageSample = Ejemplo de página wiki
+thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser = Esto es solo una página wiki de ejemplo. Puedes editarla o renombrarla, pero también cualquier otr@ usuar@
+blogSample = Ejemplo de Blog
+aPostSample = Ejemplo de post
+thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog = Esto es solo un ejemplo de post. Puedes editarlo, o renombrar el nombre de este post o del blog
+welcome = Bienvenid@
+thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gracias por unirte a [%s]. Ahora puedes participar activamente en [%s]. Pues también usar tu espacio personal para publicar contenidos. Nota: Tu correo no está verificado, por favor, sigue las indicaciones que recibirás por correo.
+thisUserHasNoBuddiesYet = Estæ usuari@ no tiene todavía colegas
+newTask = Nueva tarea
+createANewTask = Crea una nueva tarea
+doubleClickToOpen = Pulsa dos veces para editar
+createANewFolder = Crear una nueva carpeta
+newTaskFolder = Nueva carpeta de tareas
+open = Abrir
+delete = Borrar
+actions = Acciones
+connecting = Conectando
+offline = Desconectado
+newList = Nueva lista
+reloadThis = Recargar esto
+createANewList = Crea una nueva lista
+yes = Sí
+confirmPlease = Confirma, por favor:
+thisWillOpenASpecificChatroomToChatAboutThisPageOrDocumentItSUsefulToChatWithOthersAboutSomethingWhi = Esto abrirá una sala de chat específica para hablar de este documento o página (es útil chatear con otras personas sobre algo mientras se edita o modifica). ¿Estás seguro/a?
+no = No
+chatAboutParam = Chatea sobre: [%s]
+barterSample = Ejemplo de trueque
+thisIsOnlyABarterSampleYouCanInviteOtherParticipantsToThisBarterButAlsoPublishToTheGeneralPublicAllo = Este es solo un ejemplo de trueque. Puedes invitar a otras personas a participar en este trueque, pero también publicarlo al público general lo que te permitirá compartir servicios, bienes, etc.
+newBarter = Nuevo trueque
+newFolder = Nueva carpeta
+createANewBarterHere = Crear un nuevo trueque aquí
+newWikipage = Nueva página wiki
+createANewFolderAFolderWillBeASectionInThePublicWeb = Crear una nueva carpeta. Una carpeta será una 'sección' en la web pública
+createANewWikipageHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crear una Nueva Página Wiki aquí. Si eliges publicarla, este documento se verá como una nueva 'Página' en la web pública
+selectAsTheHomepage = Selecciona esto como página inicial
+registerANewGroup = Registrar un nuevo grupo
+register = Registrar
+cancel = Cancelar
+publicDescription = Descripción pública
+groupTags = Tags del grupo
+typeSomeKeywordThatDefineYourGroup = escribe alguna palabra clave que defina a tu grupo
+groupType = Tipo de grupo
+project = Proyecto
+organization = Organización
+aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = Un proyecto es un tipo de grupo en el que la aceptación de nuevos miembros es moderada por l at s administradoræs.
+anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity = Una organización funciona igual que un proyecto, excepto en que debe ser una entidad legal.
+closed = Cerrado
+aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault = Un grupo cerrado es un proyecto privado, en el que sus contenidos, por defecto, son solo accesibles para sus miembros.
+community = Comunidad
+aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = Una comunidad es un grupo de usuari at s con intereses compartidos (por ejemplo la comunidad ecologista o la comunidad LGBT). Está abierta para que participe cualquier persona libremente sin la moderación de l at s administradoræs.
+paramCreatedNewContentCreatedForInstance = [%s] creado
+notPublishedYet = No publicado aún
+thisIsOnlyAPreviewOfHowThisWebpageWouldLookLikeToTheGeneralPublicOnTheInternet = Esto es solo una vista previa de como tu página web lo verá el público general en Internet.
+createANewDocumentHereIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Crea un Nuevo Documento aquí. Si eliges publicarlo, este documento se verá como una nueva 'Página' en la web pública
+newPoll = Nueva encuesta
+newYesNoMaybeVoting = Nueva votación Sí/No/Quizás/+
+newAdvancedPoll = Nueva encuesta avanzada
+newMeeting = Nueva cita
+newYesNoMiniVoting = Nueva mini votación Si/No
+newMeetCoordination = Nueva coordinación de cita
+newMap = Nuevo mapa
+newImageAndLetsAnnotate = Nueva imagen (y vamos a anotarla)
+newYoutubeVideo = Nuevo vídeo de Youtube
+newAlbum = Nuevo Álbum
+newTwitterSearch = Nueva búsqueda de twitter
+newMindmap = Nuevo mapa mental
+newBarter = Nuevo trueque
+newImagePainter = Nuevo dibujo
+signIn = Entrar
+password = Contraseña
+donTHaveAnAccount = ¿No tienes una cuenta?
+username = Nombre de usuario/a
+email = Correo electrónico
+createOne = Créate una.
+thisIsNotAValidEmail = Ese no es un correo electrónico válido
+newBlog = Nuevo blog
+createANewBlog = Crear un nuevo blog
+newPost = Nuevo post
+createANewBlogPost = Crear un nuevo post en este blog
+thisBlogHasnTAnyPostCreateOne = Este blog no tiene ningún post, crea uno
+renaming = Renombrando
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackThisCanHelpUsToImproveTheseServices = ¿Quieres escribirnos con algún feedback positivo o negativo? Esto nos puede ayudar a mejorar estos servicios
+doYouWantToJoinThisGroup = ¿Quieres unirte a este grupo?
+youAreNowMemberOfThisGroup = Ahora eres miembro de este grupo
+newRoom = Nueva sala de chat
+createANewChatRoom = Crear una nueva sala de chat
+enterToThisRoom = Entrar a esta sala de chat
+openTheConversationsArchiveOfThisRoom = Abrir el archivo de conversaciones de esta sala de chat
+openArchive = Abrir archivo
+aboutKuneTitleOfDialog = Sobre Kune
+ok = Ok
+processing = Procesando
+aboutParam = Sobre [%s]
+meetingSample = Ejemplo de cita
+thisIsOnlyAMeetSampleYouCanInviteOtherParticipantsToThisMeetingButAlsoPublishToTheGeneralPublicAllow = Esto es solo un ejemplo de cita. Puedes invitar a otros participantes a esta cita, pero también publicarla al público general lo que te ayudará en la organización, convocatoria y acelerar eventos.
+markAsDone = Marcar como hecho
+createANewPost = Crear un nuevo post
+makeThisListNotPublic = Hacer esta lista como no pública
+subscribeToThisList = Subscríbete a la lista
+subscribe = Suscríbete
+nSubscribedNPosts = [%d] subscritoræs, [%d] posts
+confirmNewBuddy = Confirma nuevo/a colega
+paramHadAddedYouAsABuddyDoYouWantToAddHimHerAlso = [%s] te ha añadido/a como colega. ¿Quieres añadirle a él/ella también?
+paramCreatedSuccesfully = [%s] creado correctamente
+nRecentConversationsUnread = [%d] conversaciones recentes sin leer
+writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam = Escríbenos algo de feedback para ayudarnos a mejorar nuestros servicios en [%s]
+oneRecentConversationUnread = Una conversación reciente sin leer
+pleaseConfirm = Por favor confirma
+startACollaborativeDocumentForTheMeetingMinutes = ¿Crear un documento colaborativo para el acta de la asamblea?
+meetingMinutesOfParamOnParam = Acta de la asamblea [%s] el [%s]
+youCanCollaborativelyEditThisDocumentWithTheMeetingMinutes = Puedes editar simultáneamente este documento con el acta de la asamblea.
+createANewMeetingHere = Crear una nueva cita aquí
+thereIsnTAnyListCreateOne = No hay listas, crear una
+create = Crear
+areYouSure = ¿Estás seguro/a?
+welcomeToTheParamPublicChatRoom = Bienvenido a la sala de chat pública de [%s]
+doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices = ¿Quieres escribirnos con cualquier feedback positivo o negativo sobre [%s]? Esto puede ayudarnos a mejorar estos servicios
+feedbackOfParam = Feedback de [%s]
+editAndWriteHereYourFeedback = Edita y escribe aquí tu feedback.
+copyTheTextToTranslate = Copia el texto a traducir
+translateThis = traduce esto:
+notes = Notas:
+tip = Recomendación:
+clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans = Pulsa Alt+RePag o Alt+AvPag para moverte arriba/abajo en la lista mientras traduces, y Alt-V para copiar el texto original. Las traducciones se salvan automáticamente.
+notTranslated = No traducido
+recommendations = Recomendaciones
+translated = Traducido
+helpToTranslateKune = Ayuda a traducir kune
+to = a
+toParamForExampleToSpanish = a [%s]:
+saving = Guardando
+successUploading = Subida con éxito
+thereIsnTAnyTaskCreateOne = No hay ninguna tarea, crea una.
+searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy = Busca el usuario/a que quieres añadir y en su página inicial pulsa &quot;Añadir como colega&quot;
+doYouWantToWriteAMessageToTheMembersOfThisGroup = ¿Quieres escribir un mensaje a los miembros de este grupo?
+post = Post
+thisIsEmpty = Esto está vacío.
+documents = documentos
+thisFolderIsEmpty = Esta carpeta está vacía
+barters = trueques
+blogs = blogs
+thereIsnTAnyBarter = No hay ningún trueque
+thereIsnTAnyBlogCreateOne = No hay ningún blog, crea uno
+infoAboutErrors = Información sobre errores
+chatrooms = salas de chat
+events = eventos
+pleaseCopyPasteThisInfoToReportProblems = Por favor, copia y pega esta información cuando nos informes de errores
+seeTheArchiveOfOldConversationsInDevelopment = Ver el archivo de conversaciones previas (en desarrollo)
+thereIsNothingPostedYetPostSomething = No se ha publicado nada todavía. Publica algo
+lists = listas
+thisWikiIsEmpty = Este wiki está vacío
+thereIsnTAnyMeeting = No hay ninguna cita
+wiki = wiki
+tasks = tareas
+rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction = Ahora mismo, la web pública de este grupo, está en construcción
+paramTheDevelopment = [%s] el desarrollo
+pleaseSupport = Por favor apóyanos
+inDevelopment =  (en desarrollo)
+chats = chats
+theNameMustContainOnlyCharactersNumbersAndDashes = El nombre solo debe tener caracteres, números o guiones
+chatroomCreated = Sala de chat creada
+doYouWantToWriteAMessageToYourBuddy = ¿Quieres escribir un mensaje a tu colega?
+error = Error
+toJoinAChatroomYouNeedToBeOnline = Para unirte a una sala debes estar 'online'
+licenseWizard = Asistente de licencias
+backUsedInButton = « Atrás
+nextUsedInButton = Siguiente »
+select = Elegir
+finishUsedInButton = Terminar
+selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople = Elige la licencia que preferís usar para compartir los contenidos de tu grupo con otras personas
+useACopyleftLicenseRecommended = Usa una licencia copyleft (recomendado)
+useAnotherKindOfLicenseAdvanced = Usa otro tipo de licencia (avanzado)
+copyleft = copyleft
+weRecommendParamLicensesSpeciallyForPracticalWorks = Recomendamos la licencia [%s] especialmente para trabajos prácticos
+whyDoWeNeedALicense = ¿Por qué necesitamos una licencia?
+youCanChangeThisLicenseLater = Puedes cambiar la licencia después
+selectTheLicenseType = Elige el tipo de licencia:
+commonLicensesForCulturalWorks = Licencias habituales para trabajos culturales
+otherKindOfLicenses = Otro tipo de licencias
+selectACreativeCommonsLicenseRecommendedForCulturalWorks = Elige una licencia Creative Commons (recomendable para trabajos culturales)
+useTheGnuLicensesRecommendedForFreeSoftwareWorksAndOtherKindOfLicenses = Usa licencias GNU (recomendado para Software Libre) y otro tipo de licencias
+withACreativeCommonsLicenseYouKeepYourCopyrightButAllowPeopleToCopyAndDistributeYourWorkProvidedThey = Con una licencia Creative Commons, mantienes tu copyright a la vez que permites a otras personas copiar y distribuir tu trabajo siempre que te den crédito por ello (y solo bajo las condiciones que tu indicas aquí). ¿Qué quieres hacer?
+allowAnyUsesOfYourWorkIncludingCommercial = ¿Permitir cualquier uso de tu trabajo incluso comercial?
+allowModificationsOfYourWork = ¿Permitir modicaciones de tu trabajo?
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkIncludingForCommercialPurposes = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar estos trabajos incluso con objetivos comerciales
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkForNonCommercialPurposesOnly = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar estos trabajos pero para fines no comerciales únicamente
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkAsWellAsToMakeDerivativeWorksBasedOn = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar el trabajo, a la vez que permite hacer trabajos derivados basados en él
+yesAsLongAsOtherShareAlike = Sí, siempre que compartan por igual
+theLicensorPermitsOthersToDistributeDerivativeWorksOnlyUnderTheSameLicenseOrOneCompatibleWithTheOneT = El licenciador/a permite a otras personas distribuir trabajos derivados solo bajo la misma licencia o una compatible con esta
+theLicensorPermitsOthersToCopyDistributeDisplayAndPerformOnlyUnalteredCopiesOfTheWork8212NotDerivati = El licenciador/a permite a otras personas copiar, distribuir, mostrar y realizar solo copias no modificadas de este trabajo (trabajos no derivados basados en este)
+thisIsACopyleftLicense = Esta es una licencia copyleft
+thisIsNotACopyleftLicense = Esta no es una licencia copyleft.
+thisIsAppropriateForFreeCulturalWorks = Esto es apropiado para trabajos culturales.
+thisIsNotAppropriateForFreeCulturalWorks = Esto no es apropiado para trabajos culturales.
+reasonsNotToUseANonCommercialLicense = Razones para no usar una licencia no-comercial
+selectOtherKindOfLicenses = Elige otro tipo de licencias:
+selectLicense = Elige una licencia
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2011-10-23 00:56:08 UTC (rev 1567)
@@ -868,7 +868,7 @@
   font-weight: bold;
   width: auto !IMPORTANT;
   width: 50px;
-  min-width: 50px;
+  min-width: 40px;
   height: 28px;
 }
 

Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -111,6 +111,9 @@
 
   @Override
   public String getTranslation(final String language, final String text, final String noteForTranslators) {
+    if (TextUtils.empty(text)) {
+      return text;
+    }
     final HashMap<String, String> lexicon = getLexicon(language);
     final String escapedText = TextUtils.escapeHtmlLight(text);
     if (lexicon.containsKey(escapedText)) {
@@ -119,12 +122,17 @@
     } else {
       // new key, add to language and default language and let
       // untranslated
-      if (!getLexicon(I18nTranslation.DEFAULT_LANG).containsKey(text)) {
+      if (finder.findCount(defLang().getCode(), text) == 0) {
         final I18nTranslation newTranslation = new I18nTranslation("", null,
             I18nTranslation.DEF_PLUR_INDEX, "", I18nTranslation.UNTRANSLATED_VALUE, escapedText,
             I18nTranslation.DEF_NAMESPACE, defLang(), null, noteForTranslators);
-        persist(newTranslation);
-        langCache.clear();
+        try {
+          persist(newTranslation);
+          langCache.clear();
+        } catch (final Exception e) {
+          // TODO: handle exception
+          throw new RuntimeException("Error persisting '" + text + "' to language '" + language + "'");
+        }
       }
       return I18nTranslation.UNTRANSLATED_VALUE;
     }
@@ -163,13 +171,17 @@
 
   @Override
   public String setTranslation(final Long id, final String translation) throws DefaultException {
+
     final I18nTranslation trans = super.find(id);
     if (trans != null) {
       // Don't permit to translate the def language
-      assert trans.getLanguage().getCode() != I18nTranslation.DEFAULT_LANG;
+      final String lang = trans.getLanguage().getCode();
+      assert lang != I18nTranslation.DEFAULT_LANG;
       final String escapedTranslation = TextUtils.escapeHtmlLight(translation);
       trans.setText(escapedTranslation);
       persist(trans);
+      // reset cache for this lang
+      langCache.remove(lang);
       return escapedTranslation;
     } else {
       throw new DefaultException("Trying to translate a unknown item");

Modified: trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/domain/finders/I18nTranslationFinder.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -42,6 +42,9 @@
   @Finder(query = "SELECT gt FROM I18nTranslation gt JOIN gt.language gl WHERE gl.code = :language", returnAs = ArrayList.class)
   public List<I18nTranslation> findByLanguage(@Named("language") final String language);
 
+  @Finder(query = "SELECT count(*) FROM I18nTranslation gt WHERE gt.trKey = :trkey AND gt.language.code = :language")
+  public Long findCount(@Named("language") String language, @Named("trkey") String trkey);
+
   @Finder(query = "SELECT gt FROM I18nTranslation gt WHERE gt.language = :deflanguage AND gt.id NOT IN (SELECT gt.parent FROM I18nTranslation gt WHERE gt.language = :language)", returnAs = ArrayList.class)
   public List<I18nTranslation> getNonExistentFromDefault(
       @Named("deflanguage") final I18nLanguage deflanguage,

Modified: trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsTabView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsTabView.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/EntityOptionsTabView.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -23,5 +23,7 @@
 
 public interface EntityOptionsTabView extends IsWidget {
 
-    IsWidget getTabTitle();
+  int MAX_TABTITLE_LENGTH = 9;
+
+  IsWidget getTabTitle();
 }

Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -21,6 +21,7 @@
 
 import cc.kune.common.client.ui.IconLabel;
 import cc.kune.common.client.ui.MaskWidget;
+import cc.kune.common.client.ui.dialogs.tabbed.TabTitleGenerator;
 import cc.kune.core.client.ui.DefaultForm;
 import cc.kune.gspace.client.options.EntityOptionsView;
 
@@ -42,7 +43,8 @@
   public EntityOptGeneralPanel(final MaskWidget maskWidget, final ImageResource img, final String title,
       final String introMessage) {
     this.maskWidget = maskWidget;
-    tabTitle = new IconLabel(img, title);
+
+    tabTitle = TabTitleGenerator.generate(img, title, MAX_TABTITLE_LENGTH);
     super.setWidth(EntityOptionsView.WIDTH);
     super.setFrame(true);
     super.getFormPanel().setLabelWidth(100);

Modified: trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePanel.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePanel.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -22,6 +22,7 @@
 import cc.kune.common.client.tooltip.Tooltip;
 import cc.kune.common.client.ui.IconLabel;
 import cc.kune.common.client.ui.KuneWindowUtils;
+import cc.kune.common.client.ui.dialogs.tabbed.TabTitleGenerator;
 import cc.kune.core.client.resources.CoreResources;
 import cc.kune.core.shared.dto.LicenseDTO;
 import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -42,7 +43,7 @@
   private final IconLabel tabTitle;
 
   public EntityOptDefLicensePanel(final I18nTranslationService i18n, final CoreResources res) {
-    tabTitle = new IconLabel(res.copyleft(), i18n.t("License"));
+    tabTitle = TabTitleGenerator.generate(res.copyleft(), i18n.t("License"), MAX_TABTITLE_LENGTH);
     final FlowPanel flow = new FlowPanel();
     final Label intro = new Label();
     intro.setWordWrap(true);

Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptLogoPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptLogoPanel.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptLogoPanel.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -24,6 +24,7 @@
 import gwtupload.client.IUploader.OnFinishUploaderHandler;
 import gwtupload.client.IUploader.OnStartUploaderHandler;
 import cc.kune.common.client.ui.IconLabel;
+import cc.kune.common.client.ui.dialogs.tabbed.TabTitleGenerator;
 import cc.kune.common.client.utils.OnAcceptCallback;
 import cc.kune.core.client.resources.CoreMessages;
 import cc.kune.core.client.resources.nav.NavResources;
@@ -49,8 +50,7 @@
       final String panelId, final String buttonId, final String inputId, final NavResources res) {
     super();
     this.i18n = i18n;
-    tabTitle = new IconLabel(res.picture(), "");
-
+    tabTitle = TabTitleGenerator.generate(res.picture(), "");
     uploader = new EntityUploaderForm(ICON_UPLD_SERVLET, i18n.t("Choose"));
 
     initWidget(uploader);
@@ -100,7 +100,7 @@
     uploader.setLabelText(i18n.t("Select an image from your computer as the logo for this group. "
         + "For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.",
         FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT));
-    tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+    TabTitleGenerator.setText(tabTitle, CoreMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE, MAX_TABTITLE_LENGTH);
   }
 
   @Override
@@ -108,7 +108,7 @@
     uploader.setLabelText(i18n.t("Select an image from your computer as your avatar. "
         + "For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.",
         FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT));
-    tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
+    TabTitleGenerator.setText(tabTitle, CoreMessages.ENT_LOGO_SELECTOR_PERSON_TITLE, MAX_TABTITLE_LENGTH);
   }
 
   @Override

Modified: trunk/src/main/java/cc/kune/gspace/client/options/style/EntityOptStylePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/style/EntityOptStylePanel.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/style/EntityOptStylePanel.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -27,6 +27,7 @@
 import cc.kune.common.client.tooltip.Tooltip;
 import cc.kune.common.client.ui.BasicThumb;
 import cc.kune.common.client.ui.IconLabel;
+import cc.kune.common.client.ui.dialogs.tabbed.TabTitleGenerator;
 import cc.kune.common.client.utils.TextUtils;
 import cc.kune.core.client.resources.CoreResources;
 import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -62,7 +63,7 @@
 
   public EntityOptStylePanel(final I18nTranslationService i18n, final CoreResources res,
       final GSpaceThemeSelectorPanel styleSelector) {
-    tabTitle = new IconLabel(res.themeChoose(), i18n.t("Style"));
+    tabTitle = TabTitleGenerator.generate(res.themeChoose(), i18n.t("Style"), MAX_TABTITLE_LENGTH);
     // super.setHeight(String.valueOf(EntityOptionsView.HEIGHT) + "px");
     super.setWidth(String.valueOf(EntityOptionsView.WIDTH_WOUT_MARGIN) + "px");
 

Modified: trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptToolsPanel.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -25,6 +25,7 @@
 import cc.kune.common.client.tooltip.Tooltip;
 import cc.kune.common.client.ui.IconLabel;
 import cc.kune.common.client.ui.MaskWidget;
+import cc.kune.common.client.ui.dialogs.tabbed.TabTitleGenerator;
 import cc.kune.core.client.resources.CoreResources;
 import cc.kune.core.client.ui.DefaultForm;
 import cc.kune.core.shared.dto.ToolSimpleDTO;
@@ -49,7 +50,7 @@
   public EntityOptToolsPanel(final I18nTranslationService i18n, final CoreResources res,
       final MaskWidget maskWidget) {
     this.maskWidget = maskWidget;
-    tabTitle = new IconLabel(res.kunePreferences(), i18n.t("Tools"));
+    tabTitle = TabTitleGenerator.generate(res.kunePreferences(), i18n.t("Tools"), MAX_TABTITLE_LENGTH);
     this.i18n = i18n;
     // super.setHeight(EntityOptionsView.HEIGHT);
     super.setWidth(EntityOptionsView.WIDTH);

Modified: trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -94,19 +94,22 @@
   }
 
   private void setContentNotPublic() {
-    getView().getTitle().setText(i18n.t("Not Published yet") + i18n.t(TextUtils.IN_DEVELOPMENT_P));
+    getView().getTitle().setText(
+        i18n.t("Not Published yet") + i18n.tWithNT(TextUtils.IN_DEVELOPMENT_P, "with Brackets"));
     getView().getDescription().setText(
         i18n.t("This is only a preview of how this webpage would look like to the general public on the internet."));
   }
 
   private void setContentNotPublicable() {
-    getView().getTitle().setText(i18n.t("Not Publisable") + i18n.t(TextUtils.IN_DEVELOPMENT_P));
-    getView().getDescription().setText(i18n.t("This page is not publisable"));
+    getView().getTitle().setText(
+        i18n.t("Not Publicable") + i18n.tWithNT(TextUtils.IN_DEVELOPMENT_P, "with Brackets"));
+    getView().getDescription().setText(i18n.t("This page is not publicable"));
     getView().setContentGotoPublicUrl("about:blank");
   }
 
   private void setContentPublic() {
-    getView().getTitle().setText(i18n.t("Preview") + i18n.t(TextUtils.IN_DEVELOPMENT_P));
+    getView().getTitle().setText(
+        i18n.t("Preview") + i18n.tWithNT(TextUtils.IN_DEVELOPMENT_P, "with Brackets"));
     getView().getDescription().setText(
         i18n.t("This is only a preview of how this page would look like to the general public on the internet."));
   }

Modified: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java	2011-10-22 19:08:02 UTC (rev 1566)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java	2011-10-23 00:56:08 UTC (rev 1567)
@@ -60,7 +60,7 @@
     registerContentTypeIcon(TYPE_ROOT, navResources.folder());
     registerContentTypeIcon(TYPE_WIKIPAGE, navResources.wikipage());
     registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
-    registerEmptyMessages(TYPE_FOLDER, i18n.t("There folder is empty"));
+    registerEmptyMessages(TYPE_FOLDER, i18n.t("This folder is empty"));
     registerEmptyMessages(TYPE_ROOT, i18n.t("This wiki is empty"));
   }
 




More information about the kune-commits mailing list