Lots of fixes
authorMarcelo Poli <mpoli@lt24.zzn.com>
Tue, 08 Feb 2011 23:34:29 -0300
changeset 462 79ece9f156ac8115a9d12c754b01ff7adf5b2892
parent 461 70eab277e2f664c0bec22992a27216a12f5d950f
child 463 f9f5d073762f26db10eacad3092c0a3d4353d228
push id1
push usersledru@mozilla.com
push dateThu, 04 Dec 2014 21:47:06 +0000
Lots of fixes
browser/chrome/browser/aboutHome.dtd
browser/feedback/main.dtd
calendar/chrome/calendar/calendar-alarms.properties
calendar/chrome/calendar/calendar.dtd
calendar/chrome/calendar/calendar.properties
calendar/chrome/calendar/dateFormat.properties
embedding/android/android_strings.dtd
mobile/chrome/aboutHome.dtd
mobile/chrome/browser.properties
mobile/chrome/sync.dtd
mobile/chrome/sync.properties
suite/chrome/browser/navigator.dtd
suite/chrome/common/aboutSyncTabs.dtd
suite/chrome/common/pref/pref-links.dtd
suite/chrome/common/pref/pref-security.dtd
suite/chrome/common/pref/pref-sync.dtd
suite/chrome/common/pref/preferences.dtd
suite/chrome/common/pref/prefutilities.properties
suite/chrome/common/sync/syncBrand.dtd
suite/chrome/common/sync/syncGenericChange.properties
suite/chrome/common/sync/syncKey.dtd
suite/chrome/common/sync/syncQuota.dtd
suite/chrome/common/sync/syncQuota.properties
suite/chrome/common/sync/syncSetup.dtd
suite/chrome/common/sync/syncSetup.properties
suite/chrome/common/tasksOverlay.dtd
suite/chrome/common/utilityOverlay.dtd
--- a/browser/chrome/browser/aboutHome.dtd
+++ b/browser/chrome/browser/aboutHome.dtd
@@ -6,19 +6,16 @@
 
 <!ENTITY abouthome.pageTitle "Página de inicio de &brandFullName;">
 
 <!-- LOCALIZATION NOTE (brandStart): brandShortName must be in a <span/> -->
 <!ENTITY abouthome.brandStart "Inicio de <span>&brandShortName;</span>">
 
 <!ENTITY abouthome.searchEngineButton.label "Buscar">
 
-<!ENTITY abouthome.searchEngineLinks.advanced "Búsqueda avanzada">
-<!ENTITY abouthome.searchEngineLinks.preferences "Preferencias">
-
 <!ENTITY abouthome.aboutMozilla "Acerca de Mozilla">
 
 <!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1):
      text in <a/> will be linked to the Firefox features page on mozilla.com
 -->
 <!ENTITY abouthome.defaultSnippet1.v1 "¡Gracias por elegir Firefox! Para sacar el mayor provecho de su navegador, conozca más sobre las <a>últimas características</a>.">
 <!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1):
      text in <a/> will be linked to the featured add-ons on addons.mozilla.org
--- a/browser/feedback/main.dtd
+++ b/browser/feedback/main.dtd
@@ -23,10 +23,13 @@
 <!ENTITY testpilot.rawDataWindow.title                  "Test Pilot: Datos en bruto">
 
 <!-- notification -->
 <!ENTITY testpilot.notification.close.tooltip            "Cerrar">
 
 <!-- Firefox 4 beta version UI -->
 <!ENTITY testpilot.enable.label                        "Activar estudios de usuario">
 <!ENTITY testpilot.feedbackbutton.label                "Opinión">
-<!ENTITY testpilot.happy.label        "Firefox me hizo feliz porque...">
-<!ENTITY testpilot.sad.label          "Firefox me puso triste porque...">
+<!ENTITY testpilot.happy.label        "Firefox me hizo feliz porque…">
+<!ENTITY testpilot.sad.label          "Firefox me puso triste porque…">
+<!ENTITY testpilot.broken.label      "Informar este sitio como roto…">
+<!ENTITY testpilot.idea.label        "Darnos una sugerencia…">
+
--- a/calendar/chrome/calendar/calendar-alarms.properties
+++ b/calendar/chrome/calendar/calendar-alarms.properties
@@ -42,16 +42,22 @@ reminderTitleAtStartEvent=El momento en 
 reminderTitleAtStartTask=El momento en que comienza la tarea
 reminderTitleAtEndEvent=El momento en que finaliza el evento
 reminderTitleAtEndTask=El momento en que finaliza la tarea
 
 reminderCustomUnitMinutes=#1 minuto;#1 minutos
 reminderCustomUnitHours=#1 hora;#1 horas
 reminderCustomUnitDays=#1 día;#1 días
 
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of reminderCustomUnit*
+reminderSnoozeOkA11y=Recordatorio de silenciar para %1$S
+
 reminderCustomOriginBeginBeforeEvent=antes que se inicie el evento
 reminderCustomOriginBeginAfterEvent=después que se inicie el evento
 reminderCustomOriginEndBeforeEvent=antes que finalice el evento
 reminderCustomOriginEndAfterEvent=después que finalice el evento
 reminderCustomOriginBeginBeforeTask=antes que se inicie la tarea
 reminderCustomOriginBeginAfterTask=después que se inicie la tarea
 reminderCustomOriginEndBeforeTask=antes que finalice la tarea
 reminderCustomOriginEndAfterTask=después que finalice la tarea
--- a/calendar/chrome/calendar/calendar.dtd
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -293,16 +293,22 @@
 <!ENTITY calendar.alarm.snooze.10minutes.label      "10 minutos" >
 <!ENTITY calendar.alarm.snooze.15minutes.label      "15 minutos" >
 <!ENTITY calendar.alarm.snooze.30minutes.label      "30 minutos" >
 <!ENTITY calendar.alarm.snooze.45minutes.label      "45 minutos" >
 <!ENTITY calendar.alarm.snooze.1hour.label          "1 hora" >
 <!ENTITY calendar.alarm.snooze.2hours.label         "2 horas" >
 <!ENTITY calendar.alarm.snooze.1day.label           "1 día" >
 
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+     This string is not seen in the UI, it is read by screen readers when the
+      user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+      dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel               "Cancelar silenciar">
+
 <!-- Calendar Server Dialog -->
 <!ENTITY calendar.server.dialog.title.edit          "Editar calendario">
 <!ENTITY calendar.server.dialog.name.label          "Nombre de calendario:">
 
 <!-- Calendar Properties -->
 <!ENTITY calendarproperties.color.label    "Color:">
 <!ENTITY calendarproperties.webdav.label   "iCalendar (ICS)">
 <!ENTITY calendarproperties.caldav.label   "CalDAV">
--- a/calendar/chrome/calendar/calendar.properties
+++ b/calendar/chrome/calendar/calendar.properties
@@ -516,43 +516,67 @@ dueInHours=#1 hora;#1 horas
 dueInLessThanOneHour=< 1 hora
 
 # LOCALIZATION NOTE (monthInYear):
 # used for display of Month-dates like 'December 2008'
 #    %1$S will be replaced with name of the month
 #    %2$S will be replaced with the year
 monthInYear=%1$S %2$S
 
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
 # LOCALIZATION NOTE (dayIntervalInMonth):
 # used for display of intervals in the form of 'March 3 - 9, 2008'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date
 #    %3$S will be replaced with the day-index of the end date
 #    %4$S will be replaced with the common year of both dates
 dayIntervalInMonth=%2$S – %3$S de %1$S de %4$S
 
+# LOCALIZATION NOTE (dayIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalInMonth.monthFormat=nominative
+
 # LOCALIZATION NOTE (dayIntervalBetweenMonths):
 # used for display of intervals in the form 'September 29 - October 5, 2008'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date
 #    %3$S will be replaced with name of the month of the end date
 #    %4$S will be replaced with the day-index of the end date
 #    %5$S will be replaced with the commmon year of both dates
 dayIntervalBetweenMonths=%2$S de %1$S – %4$S de %3$S de %5$S
 
+# LOCALIZATION NOTE (dayIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalBetweenMonths.monthFormat=nominative
+
 # LOCALIZATION NOTE (dayIntervalBetweenYears):
 # used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
 #    %1$S will be replaced with name of the month of the start date
 #    %2$S will be replaced with the day-index of the start date
 #    %3$S will be replaced with the year of the start date
 #    %4$S will be replaced with name of the month of the end date
 #    %5$S will be replaced with the day-index of the end date
 #    %6$S will be replaced with the year of the end date
 dayIntervalBetweenYears=%2$S de %1$S de %3$S – %5$S de %4$S de %6$S
 
+# LOCALIZATION NOTE (dayIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to 
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+dayIntervalBetweenYears.monthFormat=nominative
+
 # LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
 # used for intervals where end is equals to start
 # displayed form is '5 Jan 2006 13:00'
 #    %1$S will be replaced with the date of the start date
 #    %2$S will be replaced with the time of the start date
 datetimeIntervalOnSameDateTime=%1$S %2$S
 
 # LOCALIZATION NOTE (datetimeIntervalOnSameDay):
--- a/calendar/chrome/calendar/dateFormat.properties
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -31,42 +31,75 @@
 # use your version of this file under the terms of the MPL, indicate your
 # decision by deleting the provisions above and replace them with the notice
 # and other provisions required by the GPL or the LGPL. If you do not delete
 # the provisions above, a recipient may use your version of this file under
 # the terms of any one of the MPL, the GPL or the LGPL.
 #
 # ***** END LICENSE BLOCK *****
 
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the 
+# *.monthFormat to a different value. Supported values are currently:
+#    nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=Enero
+month.2.name=Febrero
+month.3.name=Marzo
+month.4.name=Abril
+month.5.name=Mayo
+month.6.name=Junio
+month.7.name=Julio
+month.8.name=Agosto
+month.9.name=Septiembre
+month.10.name=Octubre
+month.11.name=Noviembre
+month.12.name=Diciembre
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=Enero
+month.2.genitive=Febrero
+month.3.genitive=Marzo
+month.4.genitive=Abril
+month.5.genitive=Mayo
+month.6.genitive=Junio
+month.7.genitive=Julio
+month.8.genitive=Agosto
+month.9.genitive=Setiembre
+month.10.genitive=Octubre
+month.11.genitive=Noviembre
+month.12.genitive=Diciembre
+
 month.1.Mmm=Ene
 month.2.Mmm=Feb
 month.3.Mmm=Mar
 month.4.Mmm=Abr
 month.5.Mmm=May
 month.6.Mmm=Jun
 month.7.Mmm=Jul
 month.8.Mmm=Ago
 month.9.Mmm=Sep
 month.10.Mmm=Oct
 month.11.Mmm=Nov
 month.12.Mmm=Dic
 
-month.1.name=Enero
-month.2.name=Febrero
-month.3.name=Marzo
-month.4.name=Abril
-month.5.name=Mayo
-month.6.name=Junio
-month.7.name=Julio
-month.8.name=Agosto
-month.9.name=Septiembre
-month.10.name=Octubre
-month.11.name=Noviembre
-month.12.name=Diciembre
-
 day.1.name=Domingo
 day.2.name=Lunes
 day.3.name=Martes
 day.4.name=Miércoles
 day.5.name=Jueves
 day.6.name=Viernes
 day.7.name=Sábado
 
--- a/embedding/android/android_strings.dtd
+++ b/embedding/android/android_strings.dtd
@@ -7,8 +7,10 @@
 <!ENTITY  crash_reporter_title "Informe de fallos de &brandShortName;">
 <!ENTITY  crash_message "&brandShortName; ha fallado. Tus pestañas deberían aparecer en la página de inicio de &brandShortName; al reiniciar.">
 <!ENTITY  crash_help_message "¡Ayudanos a corregir este problema!">
 <!ENTITY  crash_send_report_message "Enviar a Mozilla un informe de fallos">
 <!ENTITY  crash_include_url "Incluir la dirección de la página">
 <!ENTITY  crash_close_label "Cerrar">
 <!ENTITY  crash_restart_label "Reiniciar &brandShortName;">
 <!ENTITY  sending_crash_report "Enviando informe de fallos\u2026">
+<!ENTITY  exit_label "Salir">
+
--- a/mobile/chrome/aboutHome.dtd
+++ b/mobile/chrome/aboutHome.dtd
@@ -1,8 +1,10 @@
-<!ENTITY aboutHome.header                       "<span id='header-suffix'>Inicio de </span><span>&brandShortName; </span>">
+<!ENTITY aboutHome.header                       "<span id='header-suffix'>Inicio de </span><span>&brandShortName;</span>">
 <!ENTITY aboutHome.recentTabs                   "Las pestañas de la última vez">
 <!ENTITY aboutHome.remoteTabs                   "Pestañas de las otras computadoras">
 <!ENTITY aboutHome.recommendedAddons2           "Complementos de &brandShortName;">
 <!ENTITY aboutHome.giveFeedback                 "Dar tu opinión">
+<!ENTITY aboutHome.getHelp                      "Obtener ayuda">
+<!ENTITY aboutHome.footerWidth                  "10em">
 <!ENTITY aboutHome.openAllTabs                  "Abrir todos en pestañas">
 <!ENTITY aboutHome.noTabs                       "Sin pestañas de la última vez">
 <!ENTITY aboutHome.noAddons                     "Sin complementos recomendados">
--- a/mobile/chrome/browser.properties
+++ b/mobile/chrome/browser.properties
@@ -138,19 +138,19 @@ identity.unknown.tooltip=Este sitio web no provee información de identidad.
 identity.ownerUnknown2=(desconocido)
 
 # Geolocation UI
 geolocation.allow=Compartir
 geolocation.dontAllow=No compartir
 geolocation.siteWantsTo=%S quiere tu ubicación.
 
 # Desktop notification UI
-desktop-notification.allow=Permitir
-desktop-notification.dontAllow=No permitir
-desktop-notification.siteWantsTo=%S quiere usar notificaciones
+desktopNotification.allow=Permitir
+desktopNotification.dontAllow=No permitir
+desktopNotification.siteWantsTo=%S quiere usar notificaciones
 
 # New Tab Popup
 # LOCALIZATION NOTE (newtabpopup): Semi-colon list of plural forms.
 # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
 # #1 number of tabs
 newtabpopup.opened=Nueva pestaña abierta;#1 nuevas pestañas abiertas
 
 # Error Console
@@ -186,20 +186,21 @@ tabs.crashReload=Recargar pestaña
 # Homepage
 # LOCALIZATION NOTE: homepage.custom2 is the text displayed on the selector button if
 # the user selects a webpage to be the startpage. We can't display the entire URL
 # or webpage title on the menulist
 homepage.custom2=Página personalizada
 
 # Page Actions
 pageactions.saveas.pdf=Guardar como PDF
-pageactions.geo=Ubicación
+pageactions.geolocation=Ubicación
 pageactions.popup=Emergentes
 pageactions.offline-app=Almacenamiento fuera de línea
 pageactions.password=Contraseña
+pageactions.desktop-notification=Notificaciones web
 
 # Open Search
 opensearch.searchWith=Buscar con:
 opensearch.searchFor=Buscar "%S"
 
 # Open in Another App
 # LOCALIZATION NOTE: openinapp.specific is the text displayed if there is a single external app
 # %S is the name of the app, like "YouTube" or "Picassa"
--- a/mobile/chrome/sync.dtd
+++ b/mobile/chrome/sync.dtd
@@ -14,8 +14,9 @@
 <!ENTITY sync.setup.manual          "Ingresá tu información de cuenta de Sync">
 <!ENTITY sync.account               "Nombre de cuenta">
 <!ENTITY sync.password              "Contraseña">
 <!ENTITY sync.syncKey               "Clave de sincronización">
 <!ENTITY sync.customServer          "Usar servidor personalizado">
 <!ENTITY sync.serverURL             "URL del servidor">
 <!ENTITY sync.setup.connect         "Conectar">
 <!ENTITY sync.setup.cancel          "Cancelar">
+<!ENTITY sync.setup.tutorial        "Mostrarme cómo">
--- a/mobile/chrome/sync.properties
+++ b/mobile/chrome/sync.properties
@@ -15,8 +15,14 @@ notificationDisconnect.button=Deshacer
 # LOCALIZATION NOTE (sync.clientUpdate, sync.remoteUpdate):
 # #1 is the "application name"
 # #2 is the "version"
 sync.update.client=#1 #2 no es compatible con la última versión de Firefox Sync. Actualizá a la última versión.
 sync.update.remote=#1 #2 no es compatible con versiones viejas de Firefox Sync. Actualizá Firefox en tus otras computadoras
 sync.update.title=Firefox Sync
 sync.update.button=Conocé más
 sync.update.close=Cerrar
+sync.setup.error.title=No se puede configurar Sync
+sync.setup.error.network=No hay conexión a internet disponible
+sync.setup.error.nodata=%S no se puede conectar a Sync. ¿Querés intentar nuevamente?
+sync.setup.tryagain=Intentar nuevamente
+sync.setup.manual=Configuración manual
+
--- a/suite/chrome/browser/navigator.dtd
+++ b/suite/chrome/browser/navigator.dtd
@@ -168,8 +168,12 @@
 <!ENTITY historyCmd.label           "Historial">  
 <!ENTITY historyCmd.accesskey       "i">
 <!ENTITY history.commandKey         "h">
 
 <!ENTITY popupIcon.tooltiptext      "Desbloquear las ventanas emergentes de este sitio">
 
 <!ENTITY bidiSwitchPageDirectionItem.label        "Cambiar dirección de la página">
 <!ENTITY bidiSwitchPageDirectionItem.accesskey    "g">
+
+<!-- LOCALIZATION NOTE (syncTabsMenu.label): This appears in the Go menu -->
+<!ENTITY syncTabsMenu.label         "Pestañas de otras computadoras">
+
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/aboutSyncTabs.dtd
@@ -0,0 +1,17 @@
+<!-- LOCALIZATION NOTE (tabs.otherComputers.label): Keep this in sync with syncTabsMenu.label from browser.dtd -->
+<!ENTITY tabs.otherComputers.label "Pestañas de otras computadoras">
+
+<!ENTITY tabs.searchText.label "Ingresar para buscar pestañas…">
+
+<!-- LOCALIZATION NOTE (tabs.context.openTab.accesskey, tabs.context.openMultipleTabs.accesskey):
+     Only one of these will show at a time (based on selection), so reusing accesskey is ok. -->
+<!ENTITY tabs.context.openTab.label "Abrir esta pestaña">
+<!ENTITY tabs.context.openTab.accesskey "A">
+<!ENTITY tabs.context.openMultipleTabs.label "Abrir pestañas seleccionadas">
+<!ENTITY tabs.context.openMultipleTabs.accesskey "A">
+<!ENTITY tabs.context.bookmarkSingleTab.label "Marcar esta pestaña…">
+<!ENTITY tabs.context.bookmarkSingleTab.accesskey "M">
+<!ENTITY tabs.context.bookmarkMultipleTabs.label "Marcar pestañas seleccionadas…">
+<!ENTITY tabs.context.bookmarkMultipleTabs.accesskey "M">
+<!ENTITY tabs.context.refreshList.label "Refrescar lista">
+<!ENTITY tabs.context.refreshList.accesskey "R">
--- a/suite/chrome/common/pref/pref-links.dtd
+++ b/suite/chrome/common/pref/pref-links.dtd
@@ -10,8 +10,16 @@
 
 <!ENTITY openTab.label "Una nueva pestaña en la ventana actual">
 <!ENTITY newWindowGroupTab.accesskey "t">
 <!ENTITY externalGroupTab.accesskey "a">
 
 <!ENTITY openWindow.label "Una nueva ventana">
 <!ENTITY newWindowGroupWindow.accesskey "n">
 <!ENTITY externalGroupWindow.accesskey "o">
+
+<!ENTITY divertAll.label "Siempre desviar ventanas en pestañas">
+<!ENTITY divertAll.accesskey "d">
+<!ENTITY divertNoFeatures.label "No desviar ventanas personalizadas en pestañas">
+<!ENTITY divertNoFeatures.accesskey "s">
+<!ENTITY dontDivert.label "Siempre abrir nuevas ventanas">
+<!ENTITY dontDivert.accesskey "n">
+
--- a/suite/chrome/common/pref/pref-security.dtd
+++ b/suite/chrome/common/pref/pref-security.dtd
@@ -32,16 +32,21 @@
    - and other provisions required by the GPL or the LGPL. If you do not delete
    - the provisions above, a recipient may use your version of this file under
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
 
 <!--LOCALIZATION NOTE : FILE 'Privacy and Security' prefs settings -->
 <!ENTITY pref.security.title              "Privacidad y seguridad">
+
+<!ENTITY tracking.label                   "Rastreo de usuarios">
+<!ENTITY doNotTrack.label                 "Decirle a los sitios web que no quiero ser rastreado">
+<!ENTITY doNotTrack.accesskey             "t">
+
 <!ENTITY privateData.label                "Datos privados">
 
 <!ENTITY alwaysClear.label                "Siempre borrar mis datos privados cuando cierre &brandShortName;">
 <!ENTITY alwaysClear.accesskey            "S">
 
 <!ENTITY askBeforeClear.label             "Preguntarme antes de borrar datos privados">
 <!ENTITY askBeforeClear.accesskey         "a">
 
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/pref/pref-sync.dtd
@@ -0,0 +1,40 @@
+<!-- The page shown when not logged in... -->
+<!ENTITY setupButton.label "Configurar &syncBrand.fullName.label;">
+<!ENTITY setupButton.accesskey "C">
+<!ENTITY weaveDesc.label "&syncBrand.fullName.label; permite acceder al historial, marcadores, contraseñas y pestañas abiertas entre todos sus dispositivos.">
+
+<!-- The page shown when logged in... -->
+
+<!-- Login error feedback -->
+<!ENTITY updatePass.label "Actualizar">
+<!ENTITY resetPass.label "Restablecer">
+
+<!-- Manage Account -->
+<!ENTITY manageAccount.label "Administrar cuenta">
+<!ENTITY manageAccount.accesskey "A">
+<!ENTITY viewQuota.label              "Ver cuota">
+<!ENTITY changePassword.label "Cambiar contraseña">
+<!ENTITY mySyncKey.label              "Mi clave de sincronización">
+<!ENTITY resetSync.label "Restablecer Sync">
+<!ENTITY addDevice.label              "Agregar un dispositivo">
+
+<!ENTITY syncMy.label               "Sincronizar mis">
+<!ENTITY engine.bookmarks.label     "Marcadores">
+<!ENTITY engine.bookmarks.accesskey "M">
+<!ENTITY engine.tabs.label          "Pestañas">
+<!ENTITY engine.tabs.accesskey      "t">
+<!ENTITY engine.history.label       "Historial">
+<!ENTITY engine.history.accesskey   "r">
+<!ENTITY engine.passwords.label     "Contraseñas">
+<!ENTITY engine.passwords.accesskey "C">
+<!ENTITY engine.prefs.label         "Preferencias">
+<!ENTITY engine.prefs.accesskey     "s">
+
+<!-- Sync Settings -->
+<!ENTITY syncComputerName.label "Nombre de computadora:">
+<!ENTITY syncComputerName.accesskey "N">
+<!ENTITY deactivateDevice.label       "Desactivar este dispositivo">
+
+<!-- Footer stuff -->
+<!ENTITY prefs.tosLink.label "Términos del servicio">
+<!ENTITY prefs.ppLink.label "Política de privacidad">
--- a/suite/chrome/common/pref/preferences.dtd
+++ b/suite/chrome/common/pref/preferences.dtd
@@ -17,16 +17,17 @@
 <!ENTITY cookies.label "Cookies">
 <!ENTITY images.label "Imágenes">
 <!ENTITY popups.label "Ventanas emergentes">
 <!ENTITY passwords.label "Contraseñas">
 <!ENTITY masterpass.label "Contraseña maestra">
 <!ENTITY ssl.label "SSL">
 <!ENTITY certs.label "Certificados">
 <!ENTITY validation.label "Validación">
+<!ENTITY sync.label "Sync">
 <!ENTITY advance.label "Avanzadas">
 <!ENTITY down.label "Descargar">
 <!ENTITY cache.label "Caché">
 <!ENTITY proxies.label "Proxies">
 <!ENTITY httpnetworking.label "Red HTTP">
 <!ENTITY smart.label "Instalación de software">
 <!ENTITY download.label "Descargas">
 <!ENTITY keynav.label "Navegación por teclado">
--- a/suite/chrome/common/pref/prefutilities.properties
+++ b/suite/chrome/common/pref/prefutilities.properties
@@ -5,8 +5,17 @@ choosehomepage=Seleccionar página de inicio
 downloadfolder=Seleccionar una carpeta de descargas
 desktopFolderName=Escritorio
 downloadsFolderName=Descargas
 choosesound=Seleccionar un sonido
 
 SoundFiles=Sonidos
 
 labelDefaultFont=Predeterminada (%font_family%)
+
+connect.label=Conectar
+connect.accesskey=o
+disconnect.label=Desconectar
+disconnect.accesskey=o
+stopUsingAccount.title=¿Desea dejar de usar esta cuenta?
+differentAccount.label=Ésto restablecerá toda la información de sincronización de cuenta y preferencias.
+differentAccountConfirm.label=Restablecer toda la información
+
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncBrand.dtd
@@ -0,0 +1,2 @@
+<!ENTITY syncBrand.shortName.label  "Sync">
+<!ENTITY syncBrand.fullName.label   "Firefox Sync">
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncGenericChange.properties
@@ -0,0 +1,36 @@
+# LOCALIZATION NOTE (change.password.title): This (and associated change.password/passphrase) are used when the user elects to change their password.
+change.password.title = Cambiar la contraseña
+change.password.acceptButton = Cambiar contraseña
+change.password.status.active = Cambiando la contraseña…
+change.password.status.success = La contraseña ha sido cambiada.
+change.password.status.error = Hubo un error al cambiar la contraseña.
+
+change.password2.introText = La contraseña debe tener al menos 8 caracteres de longitud.  No puede ser igual que su nombre ni que su clave de sincronización.
+change.password.warningText = Nota: Todos sus otros dispositivos no se podrán conectar a su cuenta una vez que cambie esta contraseña.
+
+change.synckey.title = Cambiar su clave de sincronización
+change.synckey.acceptButton = Cambiar clave de sincronización
+change.synckey.label = Cambiando clave de sincronización y subiendo datos locales, espere…
+change.synckey2.error = ¡Hubo un error al cambiar la clave de sincronización!
+change.synckey2.success = ¡La clave de sincronización se cambió exitosamente!
+
+change.synckey.introText = Firefox se preocupa por su privacidad
+change.synckey.introText2 = Para asegurar su total privacidad, todos sus datos son cifrados antes de ser subidos. La clave para descifrar sus datos no es subida.
+# LOCALIZATION NOTE (change.synckey2.warningText) "Sync" should match &syncBrand.shortName.label; from syncBrand.dtd
+change.synckey2.warningText = Nota: Cambiar ésto borrará todos los datos guardados en el servidor Sync y subirá datos nuevos asegurados por esta clave de sincronización. Sus otros dispositivos no se sincronizarán hasta que la nueva clave de sincronización se ingrese en ese dispositivo.
+
+new.synckey.label = Su clave de sincronización
+
+# LOCALIZATION NOTE (new.password.title): This (and associated new.password/passphrase) are used on a second computer when it detects that your password or passphrase has been changed on a different device.
+new.password.title = Actualizar contraseña
+new.password.introText = La contraseña fue rechazada por el servidor, actualícela.
+new.password.label = Ingrese la nueva contraseña
+new.password.confirm = Confirme la nueva contraseña
+new.password.acceptButton = Actualizar contraseña
+new.password.status.incorrect = Contraseña incorrecta, intente nuevamente.
+
+new.synckey.title          = Actualizar clave de sincronización
+new.synckey2.introText       = La clave de sincronización fue cambiada usando otro dispositivo, ingrese su clave de sincronización actualizada.
+new.synckey.acceptButton     = Actualizar clave de sincronización
+new.synckey.status.incorrect = Clave de sincronización incorrecta, intente nuevamente.
+
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncKey.dtd
@@ -0,0 +1,14 @@
+<!ENTITY syncKey.page.title               "Su clave de &syncBrand.fullName.label;">
+<!ENTITY syncKey.page.description         "Esta clave es usada para decodificar los datos en su cuenta de &syncBrand.fullName.label;. Necesitará ingresar la clave cada vez que configure &syncBrand.fullName.label; en una nueva computadora o dispositivo.">
+<!ENTITY syncKey.keepItSecret.heading     "Manténgala en secreto">
+<!ENTITY syncKey.keepItSecret.description "Su cuenta de &syncBrand.fullName.label; está cifrada para proteger su privacidad. Sin esta clave, le tomaría años a alguien poder decodificar su información personal. Usted es la única persona que posee esta clave. Esto significa que es el único que puede acceder a sus datos de &syncBrand.fullName.label;.">
+<!ENTITY syncKey.keepItSafe.heading       "Manténgala segura">
+<!ENTITY syncKey.keepItSafe1.description  "No pierda esta clave.">
+<!ENTITY syncKey.keepItSafe2.description  " No mantenemos una copia de su clave (¡eso no sería mantenerla en secreto!) así que ">
+<!ENTITY syncKey.keepItSafe3.description  "no podemos ayudarlo a recuperarla">
+<!ENTITY syncKey.keepItSafe4.description  " si la pierde. Necesitará usar esta clave cada vez que conecte una nueva computadora o dispositivo a &syncBrand.fullName.label;.">
+<!ENTITY syncKey.findOutMore1.label       "Conozca más sobre &syncBrand.fullName.label; y su privacidad en ">
+<!ENTITY syncKey.findOutMore2.label       ".">
+<!ENTITY syncKey.footer1.label            "Los términos del servicio de &syncBrand.fullName.label; están disponibles en ">
+<!ENTITY syncKey.footer2.label            ". La política de privacidad está disponible en ">
+<!ENTITY syncKey.footer3.label            ".">
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncQuota.dtd
@@ -0,0 +1,5 @@
+<!ENTITY quota.dialogTitle.label    "Cuota de servidor">
+<!ENTITY quota.retrievingInfo.label "Recuperando información de cuota…">
+<!ENTITY quota.typeColumn.label     "Tipo">
+<!ENTITY quota.sizeColumn.label     "Tamaño">
+
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncQuota.properties
@@ -0,0 +1,37 @@
+collection.bookmarks.label = Marcadores
+collection.history.label   = Historial
+collection.passwords.label = Contraseñas
+collection.prefs.label     = Preferencias
+collection.tabs.label      = Pestañas
+
+# LOCALIZATION NOTE (quota.usageNoQuota.label): %1$S and %2$S are numeric value
+# and unit (as defined in the download manager) of the amount of space occupied
+# on the server
+quota.usageNoQuota.label    = Está usando actualmente %1$S %2$S.
+# LOCALIZATION NOTE (quota.usagePercentage.label):
+# %1$S is the percentage of space used,
+# %2$S and %3$S numeric value and unit (as defined in the download manager)
+# of the amount of space used,
+# %3$S and %4$S numeric value and unit (as defined in the download manager)
+# of the total space available.
+quota.usagePercentage.label = Está usando %1$S%% (%2$S %3$S) de los %4$S %5$S permitidos.
+quota.usageError.label      = No se pudo recuperar información de cuota.
+quota.retrieving.label      = Recuperando…
+# LOCALIZATION NOTE (quota.sizeValueUnit.label): %1$S is the amount of space
+# occupied by the engine, %2$K the corresponding unit (e.g. kB) as defined in
+# the download manager.
+quota.sizeValueUnit.label   = %1$S %2$S
+quota.remove.label          = Eliminar
+quota.treeCaption.label     = Desmarcar ítems para dejar de sincronizarlos y liberar espacio en el servidor.
+# LOCALIZATION NOTE (quota.removal.label): %S is a list of engines that will be
+# disabled and whose data will be removed once the user confirms.
+quota.removal.label         = Firefox Sync eliminará los datos siguientes: %S.
+# LOCALIZATION NOTE (quota.list.separator): This is the separator string used
+# for the list of engines (incl. spaces where appropriate)
+quota.list.separator        = ,\u0020
+# LOCALIZATION NOTE (quota.freeup.label): %1$S and %2$S are numeric value
+# and unit (as defined in the download manager) of the amount of space freed
+# up by disabling the unchecked engines.  If displayed this string is
+# concatenated directly to quota.removal.label and may need to start off with
+# whitespace.
+quota.freeup.label          = \u0020Ésto liberará %1$S %2$S.
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncSetup.dtd
@@ -0,0 +1,108 @@
+<!ENTITY accountSetupTitle.label "Configuración de &syncBrand.fullName.label;">
+
+<!-- First page of the wizard -->
+
+<!ENTITY setup.pickSetupType.description "Bienvenido, si nunca usó &syncBrand.fullName.label; antes, necesitará crear una nueva cuenta.">
+<!ENTITY button.createNewAccount.label "Crear una nueva cuenta">
+<!ENTITY setup.haveAccount.label "Ya tengo una cuenta de &syncBrand.fullName.label;">
+<!ENTITY button.connect.label    "Conectar">
+
+<!ENTITY setup.choicePage.title.label "¿Ha usado &syncBrand.fullName.label; antes?">
+<!ENTITY setup.choicePage.new.label "Nunca usé &syncBrand.shortName.label; antes">
+<!ENTITY setup.choicePage.existing.label "Ya estoy usando &syncBrand.shortName.label; en otra computadora">
+
+<!-- New Account AND Existing Account -->
+<!ENTITY server.label               "Servidor">
+<!ENTITY serverType.main.label "Servidor de &syncBrand.fullName.label;">
+<!ENTITY serverType.custom2.label   "Usar un servidor personalizado…">
+<!ENTITY signIn.account2.label      "Cuenta">
+<!ENTITY signIn.account2.accesskey  "e">
+<!ENTITY signIn.password.label "Contraseña">
+<!ENTITY signIn.password.accesskey "C">
+<!ENTITY signIn.syncKey.label       "Clave de sincronización">
+<!ENTITY signIn.syncKey.accesskey   "z">
+
+<!-- New Account Page 1: Basic Account Info -->
+<!ENTITY setup.newAccountDetailsPage.title.label "Detalles de cuenta">
+<!ENTITY setup.confirmPassword.label "Confirmar contraseña">
+<!ENTITY setup.confirmPassword.accesskey "C">
+<!ENTITY setup.emailAddress.label "Correo electrónico">
+<!ENTITY setup.emailAddress.accesskey "C">
+<!-- LOCALIZATION NOTE: tosAgree1, tosLink, tosAgree2, ppLink, tosAgree3 are
+     joined with implicit white space, so spaces in the strings aren't necessary -->
+<!ENTITY setup.tosAgree1.label "Acepto los">
+<!ENTITY setup.tosAgree1.accesskey "A">
+<!ENTITY setup.tosLink.label "Términos del servicio">
+<!ENTITY setup.tosAgree2.label "y la">
+<!ENTITY setup.ppLink.label "Política de privacidad">
+<!ENTITY setup.tosAgree3.label "">
+<!ENTITY setup.tosAgree2.accesskey "">
+
+<!-- New Account Page 2: Sync Key -->
+<!ENTITY setup.newSyncKeyPage.title.label "&brandShortName; se preocupa por su privacidad">
+<!ENTITY setup.newSyncKeyPage.description.label "Para asegurar su total privacidad, todos sus datos son cifrados antes de ser subidos. La clave para descifrar sus datos no es subida.">
+<!ENTITY syncKeyEntry.label        "Su clave de sincronización">
+<!ENTITY syncKeyEntry.accesskey    "z">
+<!ENTITY syncKeyGenerate.label     "Generar">
+<!ENTITY syncKeyBackup.description "Se requiere su clave de sincronización para acceder a &syncBrand.fullName.label; en otras máquinas. Debe crear una copia de seguridad. No podemos ayudarlo a recuperar su clave de sincronización.">
+
+<!ENTITY button.syncKeyBackup.print.label     "Imprimir…">
+<!ENTITY button.syncKeyBackup.print.accesskey "p">
+<!ENTITY button.syncKeyBackup.save.label      "Guardar…">
+<!ENTITY button.syncKeyBackup.save.accesskey  "G">
+
+<!-- New Account Page 3: Captcha -->
+<!ENTITY setup.captchaPage2.title.label     "Confirme que no es un robot">
+<!-- Existing Account Page 1: Add Device (incl. Add a Device dialog strings) -->
+<!ENTITY addDevice.title.label              "Agregar un dispositivo">
+<!ENTITY addDevice.showMeHow.label          "Mostrarme como.">
+<!ENTITY addDevice.dontHaveDevice.label     "No tengo el dispositivo conmigo">
+<!ENTITY addDevice.setup.description.label  "Para activar, vaya a Opciones de &syncBrand.shortName.label; en su otro dispositivo y seleccione &#x0022;Agregar un dispositivo&#x0022;.">
+<!ENTITY addDevice.setup.enterCode.label    "Ahí ingrese este código:">
+<!ENTITY addDevice.dialog.description.label "Para activar su nuevo dispositivo, vaya a Opciones de &syncBrand.shortName.label; en el dispositivo y seeccione &#x0022;Conectar.&#x0022;">
+<!ENTITY addDevice.dialog.enterCode.label   "Ingrese el código que provee el dispositivo:">
+<!ENTITY addDevice.dialog.tryAgain.label    "Intente nuevamente.">
+<!ENTITY addDevice.dialog.successful.label  "El dispositivo fue agregado exitosamente. La sincronización inicial puede tomar varios minutos y terminará en segundo plano.">
+<!ENTITY addDevice.dialog.syncKey.label     "Para activar su dispositivo necesitará ingresar su clave de sincronización. Imprima oguarde esta clave y téngala a mano.">
+<!ENTITY addDevice.dialog.connected.label   "Dispositivo conectado">
+
+<!-- Existing Account Page 2: Manual Login -->
+<!ENTITY setup.signInPage.title.label "Ingresar">
+<!ENTITY existingSyncKey.description "Puede obtener una copia de su clave de sincronización yendo a las Opciones de &syncBrand.shortName.label; en su otro dispositivo y seleccionando &#x0022;Mi clave de sincronización&#x0022; en &#x0022;Administrar cuenta&#x0022;.">
+<!ENTITY verifying.label              "Verificando…">
+<!ENTITY resetPassword.label          "Restablecer contraseña">
+<!ENTITY resetSyncKey.label           "He perdido mi otro dispositivo.">
+
+<!-- Sync Options -->
+<!ENTITY setup.optionsPage.title      "Opciones de sincronización">
+<!ENTITY syncComputerName.label       "Nombre de computadora:">
+<!ENTITY syncComputerName.accesskey   "c">
+
+<!ENTITY syncMy.label               "Sincronizar mis">
+<!ENTITY engine.bookmarks.label     "Marcadores">
+<!ENTITY engine.bookmarks.accesskey "M">
+<!ENTITY engine.tabs.label          "Pestañas">
+<!ENTITY engine.tabs.accesskey      "t">
+<!ENTITY engine.history.label       "Historial">
+<!ENTITY engine.history.accesskey   "r">
+<!ENTITY engine.passwords.label     "Contraseñas">
+<!ENTITY engine.passwords.accesskey "n">
+<!ENTITY engine.prefs.label         "Preferencias">
+<!ENTITY engine.prefs.accesskey     "s">
+
+<!ENTITY choice2.merge.main.label      "Mezclar los datos de mi computadora con mis datos de &syncBrand.shortName.label;">
+<!ENTITY choice2.merge.recommended.label "Recomendado:">
+<!ENTITY choice2.client.main.label     "Reemplazar todos los datos en esta computadora con los datos de &syncBrand.shortName.label;">
+<!ENTITY choice2.server.main.label     "Reemplazar todos los otros dispositivos con los datos de esta computadora">
+
+<!-- Confirm Merge Options -->
+<!ENTITY setup.optionsConfirmPage.title "Confirmar">
+<!ENTITY confirm.merge.label "Ha seleccionado mezclar los datos de esta computadora con los datos de sus otros dispositivos que usan &syncBrand.fullName.label;.">
+<!ENTITY confirm.client2.label         "Advertencia: Todos los datos de &brandShortName; en esta computadora se borrarán:">
+<!ENTITY confirm.client.moreinfo.label "Después de eso, &brandShortName; copiará sus datos de &syncBrand.fullName.label; a esta computadora.">
+ <!ENTITY confirm.server2.label         "Advertencia: Los siguientes dispositivos serán sobreescritos con sus datos locales:">
+
+<!-- New & Existing Account: Setup Complete -->
+<!ENTITY setup.successPage.title "Instalación completa">
+<!ENTITY changeOptions.label "Puede cambiar esta preferencia selecionando las opciones de Sync debajo.">
+<!ENTITY continueUsing.label "Ahora puede continuar usando &brandShortName;.">
new file mode 100644
--- /dev/null
+++ b/suite/chrome/common/sync/syncSetup.properties
@@ -0,0 +1,42 @@
+button.syncOptions.label       = Opciones de Sync
+button.syncOptionsDone.label   = Listo
+button.syncOptionsCancel.label = Cancelar
+
+invalidEmail.label = Dirección de correo electrónica no válida
+serverInvalid.label = Ingrese una URL de servidor válida
+usernameNotAvailable.label = Ya en uso
+
+verifying.label = Verificando…
+
+# LOCALIZATION NOTE (additionalClientCount.label):
+# Semi-colon list of plural forms. See: 
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of additional clients (was %S for a short while, use #1 instead, even if both work)
+additionalClientCount.label = y #1 dispositivo adicional;y #1 dispositivos adicionales
+# LOCALIZATION NOTE (bookmarksCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of bookmarks (was %S for a short while, use #1 instead, even if both work)
+bookmarksCount.label        = #1 marcador;#1 marcadores
+# LOCALIZATION NOTE (historyDaysCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days (was %S for a short while, use #1 instead, even if both work)
+historyDaysCount.label      = #1 día de historial;#1 días de historial
+# LOCALIZATION NOTE (passwordsCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of passwords (was %S for a short while, use #1 instead, even if both work)
+passwordsCount.label        = #1 contraseña;#1 contraseñas
+
+save.synckey.title = Guardar clave de sincronización
+
+newAccount.action.label = Firefox Sync ahora está configurado para sincronizar automáticamente todos sus datos del navegador.
+newAccount.change.label = Puede elegir exactamente qué sincronizar seleccionando Opciones de Sync debajo.
+resetClient.change.label = Firefox Sync ahora mezclará todos los datos del navegador de esta computadora en su cuenta de Sync.
+wipeClient.change.label = Firefox Sync ahora reemplazará todos los datos del navegador de esta computadora en su cuenta de Sync.
+wipeRemote.change.label = Firefox Sync ahora reemplazará todos los datos en su cuenta de Sync con los datos de esta computadora.
+existingAccount.change.label = Ahora puede cambiar esta preferencia seleccionando Opciones de Sync debajo.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+#  /services/sync */
--- a/suite/chrome/common/tasksOverlay.dtd
+++ b/suite/chrome/common/tasksOverlay.dtd
@@ -40,8 +40,18 @@
 <!ENTITY downloadManagerCmd.commandkey "j">
 
 <!ENTITY addonsManagerCmd.label "Administrador de complementos">
 <!ENTITY addonsManagerCmd.accesskey "A">
 <!ENTITY addonsManagerCmd.commandkey "a">
 
 <!ENTITY switchProfileCmd.label "Cambiar de perfil…">
 <!ENTITY switchProfileCmd.accesskey "C">
+
+<!ENTITY syncBrand.shortName.label "Sync">
+<!-- LOCALIZATION NOTE (syncSetup.accesskey, syncSyncNowItem.accesskey):
+     Only one of these will show at a time (based on setup state),
+     so reusing accesskey is ok. -->
+<!ENTITY syncSetup.label           "Configurar Sync…">
+<!ENTITY syncSetup.accesskey       "S">
+<!ENTITY syncSyncNowItem.label     "Sincronizar ahora">
+<!ENTITY syncSyncNowItem.accesskey "S">
+
--- a/suite/chrome/common/utilityOverlay.dtd
+++ b/suite/chrome/common/utilityOverlay.dtd
@@ -109,8 +109,10 @@
 <!ENTITY customizeToolbar.useDefault.accesskey    "U">
 
 <!-- Popup Blocked notification menu -->
 <!ENTITY allowPopups.accesskey        "p">
 <!ENTITY showPopupManager.label       "Administrar ventanas emergentes">
 <!ENTITY showPopupManager.accesskey   "m">
 <!ENTITY dontShowMessage.label        "No mostrar este mensaje cuando las ventanas emergentes están bloqueadas">
 <!ENTITY dontShowMessage.accesskey    "d">
+
+<!ENTITY syncToolbarButton.label "Sync">