i18n: títulos de pestaña por idioma (metadata -> generateMetadata)

Los <title> estáticos estaban en español fijo. Se migran 31 páginas a
generateMetadata reutilizando la clave de título ya traducida de cada página
(o del <h1>). Se traducen además los PageShell title hardcodeados de las 6
páginas CharServiceB y los títulos de download-client y changelogs (+ su
mensaje de error). tsc/build OK, paridad es/en, <title> cambia por idioma.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 19:07:25 +00:00
parent 651d8deafc
commit 81e1450e6b
33 changed files with 200 additions and 63 deletions
+5 -1
View File
@@ -8,7 +8,11 @@ import { ServiceBox } from '@/components/ServiceBox'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Historial de sanciones' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'History' })
return { title: t('ban.pageTitle') }
}
/** Fecha en formato DD-MM-YYYY HH:MM:SS. */
function fmt(d: Date): string {
@@ -10,7 +10,11 @@ import { PaidServiceForm } from '@/components/PaidServiceForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Cambiar facción del personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.changeFaction' })
return { title: t('title') }
}
const GOLD_ICON = '/nw-themes/nw-ryu/nw-images/nw-icons/money-gold.gif'
@@ -37,7 +41,7 @@ export default async function ChangeFactionCharacterPage({ params }: { params: P
const t = await getTranslations('CharServiceB.changeFaction')
return (
<PageShell title="Cambiar facción del personaje">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p>{t.rich('intro', { s: (c) => <span>{c}</span> })}</p>
@@ -10,7 +10,11 @@ import { PaidServiceForm } from '@/components/PaidServiceForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Cambiar raza del personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.changeRace' })
return { title: t('title') }
}
export default async function ChangeRaceCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -25,7 +29,7 @@ export default async function ChangeRaceCharacterPage({ params }: { params: Prom
const t = await getTranslations('CharServiceB.changeRace')
return (
<PageShell title="Cambiar raza del personaje">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p className="red-info2 h2">
+9 -4
View File
@@ -1,9 +1,13 @@
import type { Metadata } from 'next'
import { setRequestLocale } from 'next-intl/server'
import { setRequestLocale, getTranslations } from 'next-intl/server'
import { getCommits } from '@/lib/changelog'
import { Pagination } from '@/components/Pagination'
export const metadata: Metadata = { title: 'Changelogs' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Misc' })
return { title: t('changelogs.title') }
}
function formatFecha(iso: string): string {
if (!iso) return ''
@@ -29,6 +33,7 @@ export default async function ChangelogsPage({
const sp = await searchParams
const page = Math.max(1, Number(sp.page) || 1)
setRequestLocale(locale)
const t = await getTranslations('Misc')
const { commits, totalPages } = await getCommits(page, 5)
return (
@@ -36,12 +41,12 @@ export default async function ChangelogsPage({
<div className="middle-content">
<div className="body-content">
<div className="title-content">
<h1>Changelogs</h1>
<h1>{t('changelogs.title')}</h1>
</div>
<div className="box-content">
<div className="body-box-content">
{commits.length === 0 ? (
<p className="centered">No se pudieron cargar los cambios en este momento.</p>
<p className="centered">{t('changelogs.loadError')}</p>
) : (
<>
{commits.map((c) => (
+4 -2
View File
@@ -1,8 +1,10 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = {
title: 'Contáctanos',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('contact.title') }
}
export default async function ContactUsPage() {
+4 -2
View File
@@ -3,8 +3,10 @@ import { getTranslations } from 'next-intl/server'
import { Link } from '@/i18n/navigation'
import { CookieConsentButtons, ConsentStatus } from '@/components/CookieConsent'
export const metadata: Metadata = {
title: 'Declaración de Cookies',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('cookies.title') }
}
export default async function CookiesPage() {
@@ -10,7 +10,11 @@ import { PaidServiceForm } from '@/components/PaidServiceForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Personalizar personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.customize' })
return { title: t('title') }
}
export default async function CustomizeCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -25,7 +29,7 @@ export default async function CustomizeCharacterPage({ params }: { params: Promi
const t = await getTranslations('CharServiceB.customize')
return (
<PageShell title="Personalizar personaje">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p>{t.rich('intro', { s: (c) => <span>{c}</span> })}</p>
+5 -1
View File
@@ -9,7 +9,11 @@ import { DPointsTabs } from '@/components/DPointsTabs'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Adquirir PD' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Points' })
return { title: t('dpoints.title') }
}
export default async function DPointsPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -1,7 +1,11 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = { title: 'Descarga de addons' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Misc' })
return { title: t('downloadAddons.title') }
}
// Lista de addons (edítala con los tuyos). name/descKey/url.
const ADDONS: { name: string; descKey: string; url: string }[] = [
+10 -4
View File
@@ -1,17 +1,23 @@
import type { Metadata } from 'next'
import { getTranslations, setRequestLocale } from 'next-intl/server'
import { ClientDownload } from '@/components/ClientDownload'
export const metadata: Metadata = {
title: 'Descarga del cliente',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'UI' })
return { title: t('clientDownload.pageTitle') }
}
export default function DownloadClientPage() {
export default async function DownloadClientPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
setRequestLocale(locale)
const t = await getTranslations('UI')
return (
<div className="main-page">
<div className="middle-content">
<div className="body-content">
<div className="title-content">
<h1>Descarga del cliente</h1>
<h1>{t('clientDownload.pageTitle')}</h1>
</div>
<ClientDownload />
</div>
@@ -10,7 +10,11 @@ import { GoldForm } from '@/components/GoldForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Adquirir oro' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.gold' })
return { title: t('title') }
}
const GOLD_ICON = '/nw-themes/nw-ryu/nw-images/nw-icons/money-gold.gif'
@@ -27,7 +31,7 @@ export default async function GoldCharacterPage({ params }: { params: Promise<{
const t = await getTranslations('CharServiceB.gold')
return (
<PageShell title="Adquirir oro">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p>{t.rich('intro', { s: (c) => <span>{c}</span> })}</p>
+5 -1
View File
@@ -2,7 +2,11 @@ import type { Metadata } from 'next'
import { getTranslations, setRequestLocale } from 'next-intl/server'
import { getRealmName } from '@/lib/realm'
export const metadata: Metadata = { title: 'Ayuda' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Misc' })
return { title: t('help.title') }
}
export const dynamic = 'force-dynamic'
+4 -2
View File
@@ -1,8 +1,10 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = {
title: 'Aviso legal',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('legalNotice.title') }
}
export default async function LegalNoticePage() {
@@ -10,7 +10,11 @@ import { PaidServiceForm } from '@/components/PaidServiceForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Subir a nivel 80' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.levelUp' })
return { title: t('title') }
}
export default async function LevelUpCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -25,7 +29,7 @@ export default async function LevelUpCharacterPage({ params }: { params: Promise
const t = await getTranslations('CharServiceB.levelUp')
return (
<PageShell title="Subir a nivel 80">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p>{t.rich('intro', { s: (c) => <span>{c}</span> })}</p>
@@ -8,7 +8,11 @@ import { ServiceBox } from '@/components/ServiceBox'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Historial de PD y PV' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'History' })
return { title: t('points.pageTitle') }
}
/** Fecha en formato DD-MM-YYYY HH:MM. */
function fmt(d: Date): string {
@@ -1,8 +1,10 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = {
title: 'Política de privacidad',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('privacy.title') }
}
export default async function PrivacyPolicyPage() {
+5 -1
View File
@@ -9,7 +9,11 @@ import { PromoCodeForm } from '@/components/PromoCodeForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Código de promoción' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Points' })
return { title: t('promo.title') }
}
export default async function PromoCodePage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -11,7 +11,11 @@ import { QuestTrackerForm } from '@/components/QuestTrackerForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Rastreador de misiones' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharService' })
return { title: t('quest.pageTitle') }
}
const QUEST_DB = 'https://wotlk.novawow.com'
const CLASS_GROUPS: { css: string; name: string }[] = [
+4 -2
View File
@@ -1,8 +1,10 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = {
title: 'Política de reembolso',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('refund.title') }
}
export default async function RefundPolicyPage() {
@@ -10,7 +10,11 @@ import { PaidServiceForm } from '@/components/PaidServiceForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Renombrar personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharServiceB.rename' })
return { title: t('title') }
}
export default async function RenameCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -25,7 +29,7 @@ export default async function RenameCharacterPage({ params }: { params: Promise<
const t = await getTranslations('CharServiceB.rename')
return (
<PageShell title="Renombrar personaje">
<PageShell title={t('title')}>
<ServiceBox>
<br />
<p>{t.rich('intro', { s: (c) => <span>{c}</span> })}</p>
+5 -1
View File
@@ -9,7 +9,11 @@ import { RenameGuildForm } from '@/components/RenameGuildForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Renombrar hermandad' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Points' })
return { title: t('renameGuild.title') }
}
export default async function RenameGuildPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -10,7 +10,11 @@ import { RestoreCharacterForm } from '@/components/RestoreCharacterForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Recuperar personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharService' })
return { title: t('restoreChar.pageTitle') }
}
export default async function RestoreCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
+5 -1
View File
@@ -11,7 +11,11 @@ import { RestoreItemsForm } from '@/components/RestoreItemsForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Recuperar ítems' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharService' })
return { title: t('restoreItems.pageTitle') }
}
export default async function RestoreItemsPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -8,7 +8,11 @@ import { TwoFactorLogin } from '@/components/TwoFactorLogin'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Verificación en 2 pasos' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Misc' })
return { title: t('twofaLogin.pageTitle') }
}
const IMG = '/nw-themes/nw-ryu/nw-images'
@@ -9,7 +9,11 @@ import { ServiceBox } from '@/components/ServiceBox'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Historial de seguridad' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'History' })
return { title: t('security.pageTitle') }
}
/** Fecha en formato HH:MM:SS DD-MM-YYYY (como el diseño). */
function fmt(d: Date): string {
+5 -1
View File
@@ -11,7 +11,11 @@ import { SendGiftForm } from '@/components/SendGiftForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Enviar regalo' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharService' })
return { title: t('sendGift.pageTitle') }
}
export default async function SendGiftPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -1,8 +1,10 @@
import type { Metadata } from 'next'
import { getTranslations } from 'next-intl/server'
export const metadata: Metadata = {
title: 'Términos y condiciones',
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Legal' })
return { title: t('terms.title') }
}
export default async function TermsAndConditionsPage() {
+5 -1
View File
@@ -9,7 +9,11 @@ import { TradePointsForm } from '@/components/TradePointsForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Comercio de PD' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Points' })
return { title: t('trade.title') }
}
export default async function TradePointsPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
+5 -1
View File
@@ -8,7 +8,11 @@ import { ServiceBox } from '@/components/ServiceBox'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Historial de transacciones' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'History' })
return { title: t('trans.pageTitle') }
}
/** Fecha en formato DD-MM-YYYY HH:MM:SS. */
function fmt(d: Date): string {
@@ -11,7 +11,11 @@ import { TransferForm } from '@/components/TransferForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Transferir personaje' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'CharService' })
return { title: t('transfer.pageTitle') }
}
export default async function TransferCharacterPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
@@ -9,7 +9,11 @@ import { TransferDPointsForm } from '@/components/TransferDPointsForm'
export const dynamic = 'force-dynamic'
export const metadata: Metadata = { title: 'Transferir PD' }
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
const { locale } = await params
const t = await getTranslations({ locale, namespace: 'Points' })
return { title: t('transferDp.title') }
}
export default async function TransferDPointsPage({ params }: { params: Promise<{ locale: string }> }) {
const { locale } = await params
+18 -7
View File
@@ -892,7 +892,8 @@
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requires": "Requires <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "CHANGE FACTION",
"confirm": "Are you sure you want to change the selected characters faction for {price} € (SumUp)?"
"confirm": "Are you sure you want to change the selected characters faction for {price} € (SumUp)?",
"title": "Change character faction"
},
"changeRace": {
"warning": "THIS CHANGE DOES NOT ALLOW SWITCHING TO THE OPPOSITE FACTION",
@@ -905,7 +906,8 @@
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requires": "Requires <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "CHANGE RACE",
"confirm": "Are you sure you want to change the selected characters race for {price} € (SumUp)?"
"confirm": "Are you sure you want to change the selected characters race for {price} € (SumUp)?",
"title": "Change character race"
},
"customize": {
"intro": "The <s>Customize character</s> tool lets you change the following aspects of a character:",
@@ -922,7 +924,8 @@
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requires": "Requires <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "CUSTOMIZE",
"confirm": "Are you sure you want to customize the selected character for {price} € (SumUp)?"
"confirm": "Are you sure you want to customize the selected character for {price} € (SumUp)?",
"title": "Customize character"
},
"levelUp": {
"intro": "The <s>Level up to 80</s> tool lets you raise any character to level 80.",
@@ -934,7 +937,8 @@
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requires": "Requires <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "LEVEL UP TO 80",
"confirm": "Are you sure you want to level the selected character up to 80 for {price} € (SumUp)?"
"confirm": "Are you sure you want to level the selected character up to 80 for {price} € (SumUp)?",
"title": "Level up to 80"
},
"gold": {
"intro": "The <s>Acquire gold</s> tool lets you send gold to a character.",
@@ -942,7 +946,8 @@
"mailInfo": "When you log into the realm with that character, you will have the message with the selected amount of gold in your mailbox.",
"noteLegend": "NOTE",
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requiresLabel": "Requires"
"requiresLabel": "Requires",
"title": "Acquire gold"
},
"rename": {
"intro": "The <s>Rename character</s> tool lets you change a character's name.",
@@ -952,7 +957,8 @@
"noteConfirm": "Please make sure you have chosen the correct character, as this action cannot be undone once performed.",
"requires": "Requires <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "RENAME",
"confirm": "Are you sure you want to rename the selected character for {price} € (SumUp)?"
"confirm": "Are you sure you want to rename the selected character for {price} € (SumUp)?",
"title": "Rename character"
}
},
"History": {
@@ -1371,6 +1377,10 @@
"emailTitle": "Email",
"email1": "The server has different email addresses dedicated to different server topics.",
"email2": "Depending on your problem, use the appropriate one to send us an email message."
},
"changelogs": {
"title": "Changelogs",
"loadError": "The changelog could not be loaded right now."
}
},
"Points": {
@@ -1785,7 +1795,8 @@
"macStep8": "8 - The client will start automatically.",
"macStep9": "9 - Once you finish and exit the client, click \"Done\" in the CrossOver application.",
"macStep10": "10 - The next time you want to return, open the CrossOver application, look at the left panel and select the WoW that was previously created in Bottle, and click RUN COMMAND, select WoW.exe and click ¨Save command as launcher¨, then click Open.",
"macStep11": "11 - Finally, you will see the WoW icon under the WoW Bottle tab; now you can drag the WoW launcher to the Dock, so that next time you want to log in, you simply run WoW from the Dock."
"macStep11": "11 - Finally, you will see the WoW icon under the WoW Bottle tab; now you can drag the WoW launcher to the Dock, so that next time you want to log in, you simply run WoW from the Dock.",
"pageTitle": "Download the client"
},
"cookie": {
"dialogLabel": "Cookie consent",
+18 -7
View File
@@ -892,7 +892,8 @@
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requires": "Requiere <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "CAMBIAR FACCIÓN",
"confirm": "¿Estás seguro de cambiar de facción al personaje seleccionado por {price} € (SumUp)?"
"confirm": "¿Estás seguro de cambiar de facción al personaje seleccionado por {price} € (SumUp)?",
"title": "Cambiar facción del personaje"
},
"changeRace": {
"warning": "ESTE CAMBIO NO PERMITE CAMBIAR A LA FACCIÓN CONTRARIA",
@@ -905,7 +906,8 @@
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requires": "Requiere <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "CAMBIAR RAZA",
"confirm": "¿Estás seguro de cambiar de raza al personaje seleccionado por {price} € (SumUp)?"
"confirm": "¿Estás seguro de cambiar de raza al personaje seleccionado por {price} € (SumUp)?",
"title": "Cambiar raza del personaje"
},
"customize": {
"intro": "La herramienta <s>Personalizar personaje</s> te permite cambiar los siguientes aspectos un personaje:",
@@ -922,7 +924,8 @@
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requires": "Requiere <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "PERSONALIZAR",
"confirm": "¿Estás seguro de personalizar al personaje seleccionado por {price} € (SumUp)?"
"confirm": "¿Estás seguro de personalizar al personaje seleccionado por {price} € (SumUp)?",
"title": "Personalizar personaje"
},
"levelUp": {
"intro": "La herramienta <s>Subir a nivel 80</s> te permite subir cualquier personaje al nivel 80.",
@@ -934,7 +937,8 @@
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requires": "Requiere <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "SUBIR A NIVEL 80",
"confirm": "¿Estás seguro de subir a nivel 80 al personaje seleccionado por {price} € (SumUp)?"
"confirm": "¿Estás seguro de subir a nivel 80 al personaje seleccionado por {price} € (SumUp)?",
"title": "Subir a nivel 80"
},
"gold": {
"intro": "La herramienta <s>Adquirir oro</s> te permite enviar oro a un personaje.",
@@ -942,7 +946,8 @@
"mailInfo": "Cuando entres al reino con dicho personaje, tendrás el mensaje con la cantidad de oro seleccionada en tu buzón.",
"noteLegend": "NOTA",
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requiresLabel": "Requiere"
"requiresLabel": "Requiere",
"title": "Adquirir oro"
},
"rename": {
"intro": "La herramienta <s>Renombrar personaje</s> te permite cambiar de nombre a un personaje.",
@@ -952,7 +957,8 @@
"noteConfirm": "Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.",
"requires": "Requiere <s>{price}</s> <y>€</y> (SumUp)",
"payLabel": "RENOMBRAR",
"confirm": "¿Estás seguro de renombrar al personaje seleccionado por {price} € (SumUp)?"
"confirm": "¿Estás seguro de renombrar al personaje seleccionado por {price} € (SumUp)?",
"title": "Renombrar personaje"
}
},
"History": {
@@ -1371,6 +1377,10 @@
"emailTitle": "Correo electrónico",
"email1": "El servidor tiene diferentes direcciones de correo dedicados a diferentes temas del servidor.",
"email2": "Depende cual sea tu problema, usa el adecuado para enviarnos un mensaje de correo."
},
"changelogs": {
"title": "Changelogs",
"loadError": "No se pudieron cargar los cambios en este momento."
}
},
"Points": {
@@ -1785,7 +1795,8 @@
"macStep8": "8 - El cliente se iniciará automáticamente.",
"macStep9": "9 - Una vez que termines y salgas del cliente, haz clic en \"Listo\" en la aplicación CrossOver.",
"macStep10": "10 - La próxima vez que desees volver, abre la aplicación CrossOver, mira el panel izquierdo y selecciona en Botella el WoW que se creó anteriormente, y haz clic en RUN COMMAND, selecciona WoW.exe y haz clic en ¨Guardar comando como iniciador¨, luego haz clic en Abrir.",
"macStep11": "11 - Finalmente, verás el ícono de WoW debajo de la pestaña Botella de WoW, ahora puedes arrastrar el lanzador de WoW al Dock, de esta manera, la próxima vez que quieras entrar, simplemente ejecuta WoW desde el Dock."
"macStep11": "11 - Finalmente, verás el ícono de WoW debajo de la pestaña Botella de WoW, ahora puedes arrastrar el lanzador de WoW al Dock, de esta manera, la próxima vez que quieras entrar, simplemente ejecuta WoW desde el Dock.",
"pageTitle": "Descarga del cliente"
},
"cookie": {
"dialogLabel": "Consentimiento de cookies",