-
Notifications
You must be signed in to change notification settings - Fork 3k
/
Copy pathes.ts
3815 lines (3808 loc) · 206 KB
/
es.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import {Str} from 'expensify-common';
import CONST from '@src/CONST';
import type {ConnectionName, PolicyConnectionSyncStage} from '@src/types/onyx/Policy';
import type {
AddressLineParams,
AdminCanceledRequestParams,
AlreadySignedInParams,
ApprovedAmountParams,
BeginningOfChatHistoryAdminRoomPartOneParams,
BeginningOfChatHistoryAnnounceRoomPartOneParams,
BeginningOfChatHistoryAnnounceRoomPartTwo,
BeginningOfChatHistoryDomainRoomPartOneParams,
CanceledRequestParams,
CharacterLimitParams,
ConfirmThatParams,
DateShouldBeAfterParams,
DateShouldBeBeforeParams,
DeleteActionParams,
DeleteConfirmationParams,
DidSplitAmountMessageParams,
DistanceRateOperationsParams,
EditActionParams,
ElectronicFundsParams,
EnglishTranslation,
EnterMagicCodeParams,
FormattedMaxLengthParams,
GoBackMessageParams,
GoToRoomParams,
InstantSummaryParams,
LocalTimeParams,
LoggedInAsParams,
LogSizeParams,
ManagerApprovedAmountParams,
ManagerApprovedParams,
NoLongerHaveAccessParams,
NotAllowedExtensionParams,
NotYouParams,
OOOEventSummaryFullDayParams,
OOOEventSummaryPartialDayParams,
OurEmailProviderParams,
PaidElsewhereWithAmountParams,
PaidWithExpensifyWithAmountParams,
ParentNavigationSummaryParams,
PayerOwesAmountParams,
PayerOwesParams,
PayerPaidAmountParams,
PayerPaidParams,
PayerSettledParams,
PaySomeoneParams,
ReimbursementRateParams,
RemovedTheRequestParams,
RenamedRoomActionParams,
ReportArchiveReasonsClosedParams,
ReportArchiveReasonsMergedParams,
ReportArchiveReasonsPolicyDeletedParams,
ReportArchiveReasonsRemovedFromPolicyParams,
RequestAmountParams,
RequestCountParams,
RequestedAmountMessageParams,
ResolutionConstraintsParams,
RoomNameReservedErrorParams,
RoomRenamedToParams,
SetTheDistanceParams,
SetTheRequestParams,
SettledAfterAddedBankAccountParams,
SettleExpensifyCardParams,
SignUpNewFaceCodeParams,
SizeExceededParams,
SplitAmountParams,
StepCounterParams,
TaskCreatedActionParams,
TermsParams,
ThreadRequestReportNameParams,
ThreadSentMoneyReportNameParams,
ToValidateLoginParams,
TransferParams,
UntilTimeParams,
UpdatedTheDistanceParams,
UpdatedTheRequestParams,
UsePlusButtonParams,
UserIsAlreadyMemberParams,
UserSplitParams,
ViolationsAutoReportedRejectedExpenseParams,
ViolationsCashExpenseWithNoReceiptParams,
ViolationsConversionSurchargeParams,
ViolationsInvoiceMarkupParams,
ViolationsMaxAgeParams,
ViolationsMissingTagParams,
ViolationsOverAutoApprovalLimitParams,
ViolationsOverCategoryLimitParams,
ViolationsOverLimitParams,
ViolationsPerDayLimitParams,
ViolationsReceiptRequiredParams,
ViolationsRterParams,
ViolationsTagOutOfPolicyParams,
ViolationsTaxOutOfPolicyParams,
WaitingOnBankAccountParams,
WalletProgramParams,
WelcomeEnterMagicCodeParams,
WelcomeNoteParams,
WelcomeToRoomParams,
WeSentYouMagicSignInLinkParams,
ZipCodeExampleFormatParams,
} from './types';
/* eslint-disable max-len */
export default {
common: {
cancel: 'Cancelar',
dismiss: 'Descartar',
yes: 'Sí',
no: 'No',
ok: 'OK',
learnMore: 'Más información',
buttonConfirm: 'Ok, entendido',
name: 'Nombre',
attachment: 'Archivo adjunto',
from: 'De',
to: 'A',
optional: 'Opcional',
new: 'Nuevo',
center: 'Centrar',
search: 'Buscar',
find: 'Encontrar',
searchWithThreeDots: 'Buscar...',
select: 'Seleccionar',
next: 'Siguiente',
create: 'Crear',
previous: 'Anterior',
goBack: 'Volver',
add: 'Añadir',
resend: 'Reenviar',
save: 'Guardar',
saveChanges: 'Guardar cambios',
submit: 'Enviar',
rotate: 'Rotar',
zoom: 'Zoom',
password: 'Contraseña',
magicCode: 'Código mágico',
twoFactorCode: 'Autenticación de dos factores',
workspaces: 'Espacios de trabajo',
inbox: 'Bandeja de entrada',
group: 'Grupo',
profile: 'Perfil',
referral: 'Remisión',
payments: 'Pagos',
wallet: 'Billetera',
preferences: 'Preferencias',
view: 'Ver',
not: 'No',
privacyPolicy: 'la Política de Privacidad de Expensify',
addCardTermsOfService: 'Términos de Servicio',
signIn: 'Conectarse',
signInWithGoogle: 'Iniciar sesión con Google',
signInWithApple: 'Iniciar sesión con Apple',
signInWith: 'Iniciar sesión con',
continue: 'Continuar',
firstName: 'Nombre',
lastName: 'Apellidos',
phone: 'Teléfono',
phoneNumber: 'Número de teléfono',
phoneNumberPlaceholder: '(xxx) xxx-xxxx',
email: 'Email',
and: 'y',
details: 'Detalles',
privacy: 'Privacidad',
hidden: 'Oculto',
visible: 'Visible',
delete: 'Eliminar',
archived: 'archivado',
contacts: 'Contactos',
recents: 'Recientes',
close: 'Cerrar',
download: 'Descargar',
downloading: 'Descargando',
pin: 'Fijar',
unPin: 'Desfijar',
back: 'Volver',
saveAndContinue: 'Guardar y continuar',
settings: 'Configuración',
termsOfService: 'Términos de Servicio',
members: 'Miembros',
invite: 'Invitar',
here: 'aquí',
date: 'Fecha',
dob: 'Fecha de nacimiento',
currentYear: 'Año actual',
currentMonth: 'Mes actual',
ssnLast4: 'Últimos 4 dígitos de tu SSN',
ssnFull9: 'Los 9 dígitos del SSN',
addressLine: ({lineNumber}: AddressLineParams) => `Dirección línea ${lineNumber}`,
personalAddress: 'Dirección física personal',
companyAddress: 'Dirección física de la empresa',
noPO: 'No se aceptan apartados ni direcciones postales',
city: 'Ciudad',
state: 'Estado',
streetAddress: 'Dirección',
stateOrProvince: 'Estado / Provincia',
country: 'País',
zip: 'Código postal',
zipPostCode: 'Código postal',
whatThis: '¿Qué es esto?',
iAcceptThe: 'Acepto los ',
remove: 'Eliminar',
admin: 'Administrador',
owner: 'Dueño',
dateFormat: 'AAAA-MM-DD',
send: 'Enviar',
notifications: 'Notificaciones',
na: 'N/A',
noResultsFound: 'No se han encontrado resultados',
recentDestinations: 'Destinos recientes',
timePrefix: 'Son las',
conjunctionFor: 'para',
todayAt: 'Hoy a las',
tomorrowAt: 'Mañana a las',
yesterdayAt: 'Ayer a las',
conjunctionAt: 'a',
conjunctionTo: 'a',
genericErrorMessage: 'Ups... algo no ha ido bien y la acción no se ha podido completar. Por favor, inténtalo más tarde.',
error: {
invalidAmount: 'Importe no válido.',
acceptTerms: 'Debes aceptar los Términos de Servicio para continuar.',
phoneNumber: `Introduce un teléfono válido, incluyendo el código del país (p. ej. ${CONST.EXAMPLE_PHONE_NUMBER})`,
fieldRequired: 'Este campo es obligatorio.',
requestModified: 'Esta solicitud está siendo modificada por otro miembro.',
characterLimit: ({limit}: CharacterLimitParams) => `Supera el límite de ${limit} caracteres`,
characterLimitExceedCounter: ({length, limit}) => `Se superó el límite de caracteres (${length}/${limit})`,
dateInvalid: 'Por favor, selecciona una fecha válida.',
invalidDateShouldBeFuture: 'Por favor, elige una fecha igual o posterior a hoy.',
invalidTimeShouldBeFuture: 'Por favor, elige una hora al menos un minuto en el futuro.',
invalidCharacter: 'Carácter invalido.',
enterMerchant: 'Introduce un comerciante.',
enterAmount: 'Introduce un importe.',
enterDate: 'Introduce una fecha.',
invalidTimeRange: 'Por favor, introduce una hora entre 1 y 12 (por ejemplo, 2:30 PM).',
pleaseCompleteForm: 'Por favor complete el formulario de arriba para continuar..',
},
comma: 'la coma',
semicolon: 'el punto y coma',
please: 'Por favor',
contactUs: 'contáctenos',
pleaseEnterEmailOrPhoneNumber: 'Por favor, escribe un email o número de teléfono',
fixTheErrors: 'corrige los errores',
inTheFormBeforeContinuing: 'en el formulario antes de continuar',
confirm: 'Confirmar',
reset: 'Restablecer',
done: 'Listo',
more: 'Más',
debitCard: 'Tarjeta de débito',
bankAccount: 'Cuenta bancaria',
personalBankAccount: 'Cuenta bancaria personal',
businessBankAccount: 'Cuenta bancaria comercial',
join: 'Unirse',
leave: 'Salir',
decline: 'Rechazar',
transferBalance: 'Transferencia de saldo',
cantFindAddress: '¿No encuentras tu dirección? ',
enterManually: 'Introducir manualmente',
message: 'Chatear con ',
leaveThread: 'Salir del hilo',
you: 'Tú',
youAfterPreposition: 'ti',
your: 'tu',
conciergeHelp: 'Por favor, contacta con Concierge para obtener ayuda.',
youAppearToBeOffline: 'Parece que estás desconectado.',
thisFeatureRequiresInternet: 'Esta función requiere una conexión a Internet activa para ser utilizada.',
attachementWillBeAvailableOnceBackOnline: 'El archivo adjunto estará disponible cuando vuelvas a estar en línea.',
areYouSure: '¿Estás seguro?',
verify: 'Verifique',
yesContinue: 'Sí, continuar',
websiteExample: 'p. ej. https://www.expensify.com',
zipCodeExampleFormat: ({zipSampleFormat}: ZipCodeExampleFormatParams) => (zipSampleFormat ? `p. ej. ${zipSampleFormat}` : ''),
description: 'Descripción',
with: 'con',
shareCode: 'Compartir código',
share: 'Compartir',
per: 'por',
mi: 'milla',
km: 'kilómetro',
copied: '¡Copiado!',
someone: 'Alguien',
total: 'Total',
edit: 'Editar',
letsDoThis: '¡Hagámoslo!',
letsStart: 'Empecemos',
showMore: 'Mostrar más',
merchant: 'Comerciante',
category: 'Categoría',
billable: 'Facturable',
nonBillable: 'No facturable',
tag: 'Etiqueta',
receipt: 'Recibo',
verified: 'Verificado',
replace: 'Sustituir',
distance: 'Distancia',
mile: 'milla',
miles: 'millas',
kilometer: 'kilómetro',
kilometers: 'kilómetros',
recent: 'Reciente',
all: 'Todo',
am: 'AM',
pm: 'PM',
tbd: 'Por determinar',
selectCurrency: 'Selecciona una moneda',
card: 'Tarjeta',
whyDoWeAskForThis: '¿Por qué pedimos esto?',
required: 'Obligatorio',
showing: 'Mostrando',
of: 'de',
default: 'Predeterminado',
update: 'Actualizar',
member: 'Miembro',
role: 'Role',
currency: 'Divisa',
rate: 'Tarifa',
emptyLHN: {
title: 'Woohoo! Todo al día.',
subtitleText1: 'Encuentra un chat usando el botón',
subtitleText2: 'o crea algo usando el botón',
subtitleText3: '.',
},
businessName: 'Nombre de la empresa',
clear: 'Borrar',
type: 'Tipo',
action: 'Acción',
expenses: 'Gastos',
tax: 'Impuesto',
shared: 'Compartidos',
drafts: 'Borradores',
finished: 'Finalizados',
},
connectionComplete: {
title: 'Conexión Completa',
supportingText: 'Ya puedes cerrar esta página y volver a la App de Expensify.',
},
location: {
useCurrent: 'Usar ubicación actual',
notFound: 'No pudimos encontrar tu ubicación, inténtalo de nuevo o introduce una dirección manualmente.',
permissionDenied: 'Parece que has denegado el permiso a tu ubicación.',
please: 'Por favor,',
allowPermission: 'habilita el permiso de ubicación en la configuración',
tryAgain: 'e inténtalo de nuevo.',
},
anonymousReportFooter: {
logoTagline: 'Únete a la discusión.',
},
attachmentPicker: {
cameraPermissionRequired: 'Permiso para acceder a la cámara',
expensifyDoesntHaveAccessToCamera: 'Expensify no puede tomar fotos sin acceso a la cámara. Haz click en Configuración para actualizar los permisos.',
attachmentError: 'Error al adjuntar archivo',
errorWhileSelectingAttachment: 'Ha ocurrido un error al seleccionar un archivo adjunto. Por favor, inténtalo de nuevo.',
errorWhileSelectingCorruptedAttachment: 'Ha ocurrido un error al seleccionar un archivo adjunto corrupto. Por favor, inténtalo con otro archivo.',
takePhoto: 'Hacer una foto',
chooseFromGallery: 'Elegir de la galería',
chooseDocument: 'Elegir un archivo',
attachmentTooLarge: 'Archivo adjunto demasiado grande',
sizeExceeded: 'El archivo adjunto supera el límite de 24 MB.',
attachmentTooSmall: 'Archivo adjunto demasiado pequeño',
sizeNotMet: 'El archivo adjunto debe ser más grande que 240 bytes.',
wrongFileType: 'Tipo de archivo inválido',
notAllowedExtension: 'Este tipo de archivo no es compatible',
folderNotAllowedMessage: 'Subir una carpeta no está permitido. Prueba con otro archivo.',
protectedPDFNotSupported: 'Los PDFs con contraseña no son compatibles',
},
avatarCropModal: {
title: 'Editar foto',
description: 'Arrastra, haz zoom y rota tu imagen para que quede como te gusta.',
},
composer: {
noExtensionFoundForMimeType: 'No se encontró una extension para este tipo de contenido',
problemGettingImageYouPasted: 'Ha ocurrido un problema al obtener la imagen que has pegado',
commentExceededMaxLength: ({formattedMaxLength}: FormattedMaxLengthParams) => `El comentario debe tener máximo ${formattedMaxLength} caracteres.`,
},
baseUpdateAppModal: {
updateApp: 'Actualizar app',
updatePrompt: 'Existe una nueva versión de esta aplicación.\nActualiza ahora or reinicia la aplicación más tarde para recibir la última versión.',
},
deeplinkWrapper: {
launching: 'Cargando Expensify',
expired: 'Tu sesión ha expirado.',
signIn: 'Por favor, inicia sesión de nuevo.',
redirectedToDesktopApp: 'Te hemos redirigido a la aplicación de escritorio.',
youCanAlso: 'También puedes',
openLinkInBrowser: 'abrir este enlace en tu navegador',
loggedInAs: ({email}: LoggedInAsParams) =>
`Has iniciado sesión como ${email}. Haz clic en "Abrir enlace" en el aviso para iniciar sesión en la aplicación de escritorio con esta cuenta.`,
doNotSeePrompt: '¿No ves el aviso?',
tryAgain: 'Inténtalo de nuevo',
or: ', o',
continueInWeb: 'continuar en la web',
},
validateCodeModal: {
successfulSignInTitle: 'Abracadabra,\n¡sesión iniciada!',
successfulSignInDescription: 'Vuelve a la pestaña original para continuar.',
title: 'Aquí está tu código mágico',
or: ', ¡o',
description: 'Por favor, introduce el código utilizando el dispositivo\nen el que se solicitó originalmente',
signInHere: 'simplemente inicia sesión aquí',
expiredCodeTitle: 'Código mágico caducado',
expiredCodeDescription: 'Vuelve al dispositivo original y solicita un código nuevo.',
successfulNewCodeRequest: 'Código solicitado. Por favor, comprueba tu dispositivo.',
tfaRequiredTitle: 'Se requiere autenticación\nde dos factores',
tfaRequiredDescription: 'Por favor, introduce el código de autenticación de dos factores\ndonde estás intentando iniciar sesión.',
},
moneyRequestConfirmationList: {
paidBy: 'Pagado por',
whatsItFor: '¿Para qué es?',
},
selectionList: {
nameEmailOrPhoneNumber: 'Nombre, email o número de teléfono',
findMember: 'Encuentra un miembro',
},
videoChatButtonAndMenu: {
tooltip: 'Iniciar una llamada',
},
hello: 'Hola',
phoneCountryCode: '34',
welcomeText: {
getStarted: 'Comience a continuación.',
anotherLoginPageIsOpen: 'Otra página de inicio de sesión está abierta.',
anotherLoginPageIsOpenExplanation: 'Ha abierto la página de inicio de sesión en una pestaña separada, inicie sesión desde esa pestaña específica.',
welcome: '¡Bienvenido!',
welcomeWithoutExclamation: 'Bienvenido',
phrase2: 'El dinero habla. Y ahora que chat y pagos están en un mismo lugar, es también fácil.',
phrase3: 'Tus pagos llegan tan rápido como tus mensajes.',
enterPassword: 'Por favor, introduce tu contraseña',
welcomeNewFace: ({login}: SignUpNewFaceCodeParams) => `${login}, siempre es genial ver una cara nueva por aquí!`,
welcomeEnterMagicCode: ({login}: WelcomeEnterMagicCodeParams) => `Por favor, introduce el código mágico enviado a ${login}. Debería llegar en un par de minutos.`,
},
login: {
hero: {
header: 'Gestiona, divide gastos y chatea con tu equipo.',
body: 'Bienvenido al futuro de Expensify, tu nuevo lugar de referencia para la colaboración financiera con amigos y compañeros de equipo por igual.',
},
},
thirdPartySignIn: {
alreadySignedIn: ({email}: AlreadySignedInParams) => `Ya has iniciado sesión con ${email}.`,
goBackMessage: ({provider}: GoBackMessageParams) => `No quieres iniciar sesión con ${provider}?`,
continueWithMyCurrentSession: 'Continuar con mi sesión actual',
redirectToDesktopMessage: 'Lo redirigiremos a la aplicación de escritorio una vez que termine de iniciar sesión.',
signInAgreementMessage: 'Al iniciar sesión, aceptas las',
termsOfService: 'Términos de servicio',
privacy: 'Privacidad',
},
samlSignIn: {
welcomeSAMLEnabled: 'Continua iniciando sesión con el inicio de sesión único:',
orContinueWithMagicCode: 'O, opcionalmente, tu empresa te permite iniciar sesión con un código mágico',
useSingleSignOn: 'Usar el inicio de sesión único',
useMagicCode: 'Usar código mágico',
launching: 'Cargando...',
oneMoment: 'Un momento mientras te redirigimos al portal de inicio de sesión único de tu empresa.',
},
reportActionCompose: {
dropToUpload: 'Suelta el archivo aquí para compartirlo',
sendAttachment: 'Enviar adjunto',
addAttachment: 'Añadir archivo adjunto',
writeSomething: 'Escribe algo...',
conciergePlaceholderOptions: [
'¡Pide ayuda!',
'¡Pregúntame lo que sea!',
'¡Pídeme que te reserve un viaje!',
'¡Pregúntame qué puedo hacer!',
'¡Pregúntame cómo pagar a la gente!',
'¡Pregúntame cómo enviar una factura!',
'¡Pregúntame cómo escanear un recibo!',
'¡Pregúntame cómo obtener una tarjeta de crédito corporativa gratis!',
],
blockedFromConcierge: 'Comunicación no permitida',
fileUploadFailed: 'Subida fallida. El archivo no es compatible.',
localTime: ({user, time}: LocalTimeParams) => `Son las ${time} para ${user}`,
edited: '(editado)',
emoji: 'Emoji',
collapse: 'Colapsar',
expand: 'Expandir',
},
reportActionContextMenu: {
copyToClipboard: 'Copiar al portapapeles',
copied: '¡Copiado!',
copyLink: 'Copiar enlace',
copyURLToClipboard: 'Copiar URL al portapapeles',
copyEmailToClipboard: 'Copiar email al portapapeles',
markAsUnread: 'Marcar como no leído',
markAsRead: 'Marcar como leído',
editAction: ({action}: EditActionParams) => `Editar ${action?.actionName === CONST.REPORT.ACTIONS.TYPE.IOU ? 'gastos' : 'comentario'}`,
deleteAction: ({action}: DeleteActionParams) => `Eliminar ${action?.actionName === CONST.REPORT.ACTIONS.TYPE.IOU ? 'gastos' : 'comentario'}`,
deleteConfirmation: ({action}: DeleteConfirmationParams) =>
`¿Estás seguro de que quieres eliminar este ${action?.actionName === CONST.REPORT.ACTIONS.TYPE.IOU ? 'gasto' : 'comentario'}`,
onlyVisible: 'Visible sólo para',
replyInThread: 'Responder en el hilo',
joinThread: 'Unirse al hilo',
leaveThread: 'Dejar hilo',
flagAsOffensive: 'Marcar como ofensivo',
menu: 'Menú',
},
emojiReactions: {
addReactionTooltip: 'Añadir una reacción',
reactedWith: 'reaccionó con',
},
reportActionsView: {
beginningOfArchivedRoomPartOne: 'Te perdiste la fiesta en ',
beginningOfArchivedRoomPartTwo: ', no hay nada que ver aquí.',
beginningOfChatHistoryDomainRoomPartOne: ({domainRoom}: BeginningOfChatHistoryDomainRoomPartOneParams) => `¡Colabora aquí con todos los participantes de ${domainRoom}! 🎉\nUtiliza `,
beginningOfChatHistoryDomainRoomPartTwo: ' para chatear con compañeros, compartir consejos o hacer una pregunta.',
beginningOfChatHistoryAdminRoomPartOne: ({workspaceName}: BeginningOfChatHistoryAdminRoomPartOneParams) =>
`¡Este es el lugar para que los administradores de ${workspaceName} colaboren! 🎉\nUsa `,
beginningOfChatHistoryAdminRoomPartTwo: ' para chatear sobre temas como la configuración del espacio de trabajo y mas.',
beginningOfChatHistoryAnnounceRoomPartOne: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomPartOneParams) =>
`¡Este es el lugar para que todos los miembros de ${workspaceName} colaboren! 🎉\nUsa `,
beginningOfChatHistoryAnnounceRoomPartTwo: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomPartTwo) => ` para chatear sobre cualquier cosa relacionada con ${workspaceName}.`,
beginningOfChatHistoryUserRoomPartOne: '¡Este es el lugar para colaborar! 🎉\nUsa este espacio para chatear sobre cualquier cosa relacionada con ',
beginningOfChatHistoryUserRoomPartTwo: '.',
beginningOfChatHistoryInvoiceRoom: '¡Este es el lugar para colaborar! 🎉 Utilice esta sala para ver, discutir y pagar facturas.',
beginningOfChatHistory: 'Aquí comienzan tus conversaciones con ',
beginningOfChatHistoryPolicyExpenseChatPartOne: '¡La colaboración entre ',
beginningOfChatHistoryPolicyExpenseChatPartTwo: ' y ',
beginningOfChatHistoryPolicyExpenseChatPartThree: ' empieza aquí! 🎉 Este es el lugar donde chatear y presentar o pagar gastos.',
beginningOfChatHistorySelfDM: 'Este es tu espacio personal. Úsalo para notas, tareas, borradores y recordatorios.',
beginningOfChatHistorySystemDM: '¡Bienvenido! Vamos a configurar tu cuenta.',
chatWithAccountManager: 'Chatea con tu gestor de cuenta aquí',
sayHello: '¡Saluda!',
yourSpace: 'Tu espacio',
welcomeToRoom: ({roomName}: WelcomeToRoomParams) => `¡Bienvenido a ${roomName}!`,
usePlusButton: ({additionalText}: UsePlusButtonParams) => `\n¡También puedes usar el botón + de abajo para ${additionalText}, o asignar una tarea!`,
iouTypes: {
pay: 'pagar gastos',
split: 'dividir un gasto',
submit: 'presentar un gasto',
track: 'rastrear un gasto',
invoice: 'facturar un gasto',
},
},
adminOnlyCanPost: 'Solo los administradores pueden enviar mensajes en esta sala.',
reportAction: {
asCopilot: 'como copiloto de',
},
mentionSuggestions: {
hereAlternateText: 'Notificar a todos en esta conversación',
},
newMessages: 'Mensajes nuevos',
youHaveBeenBanned: 'Nota: Se te ha prohibido comunicarte en este canal',
reportTypingIndicator: {
isTyping: 'está escribiendo...',
areTyping: 'están escribiendo...',
multipleUsers: 'Varios usuarios',
},
reportArchiveReasons: {
[CONST.REPORT.ARCHIVE_REASON.DEFAULT]: 'Esta sala de chat ha sido eliminada.',
[CONST.REPORT.ARCHIVE_REASON.ACCOUNT_CLOSED]: ({displayName}: ReportArchiveReasonsClosedParams) => `Este chat está desactivado porque ${displayName} ha cerrado tu cuenta.`,
[CONST.REPORT.ARCHIVE_REASON.ACCOUNT_MERGED]: ({displayName, oldDisplayName}: ReportArchiveReasonsMergedParams) =>
`Este chat está desactivado porque ${oldDisplayName} ha combinado tu cuenta con ${displayName}`,
[CONST.REPORT.ARCHIVE_REASON.REMOVED_FROM_POLICY]: ({displayName, policyName, shouldUseYou = false}: ReportArchiveReasonsRemovedFromPolicyParams) =>
shouldUseYou
? `Este chat ya no está activo porque <strong>tu</strong> ya no eres miembro del espacio de trabajo ${policyName}.`
: `Este chat está desactivado porque ${displayName} ha dejado de ser miembro del espacio de trabajo ${policyName}.`,
[CONST.REPORT.ARCHIVE_REASON.POLICY_DELETED]: ({policyName}: ReportArchiveReasonsPolicyDeletedParams) =>
`Este chat está desactivado porque el espacio de trabajo ${policyName} se ha eliminado.`,
},
writeCapabilityPage: {
label: 'Quién puede postear',
writeCapability: {
all: 'Todos los miembros',
admins: 'Solo administradores',
},
},
sidebarScreen: {
buttonFind: 'Encuentre algo...',
buttonMySettings: 'Mi configuración',
fabNewChat: 'Iniciar chat',
fabNewChatExplained: 'Iniciar chat (Acción flotante)',
chatPinned: 'Chat fijado',
draftedMessage: 'Mensaje borrador',
listOfChatMessages: 'Lista de mensajes del chat',
listOfChats: 'lista de chats',
saveTheWorld: 'Salvar el mundo',
},
allSettingsScreen: {
subscriptions: 'Suscripciones',
cardsAndDomains: 'Tarjetas y Dominios',
},
tabSelector: {
chat: 'Chat',
room: 'Sala',
distance: 'Distancia',
manual: 'Manual',
scan: 'Escanear',
},
receipt: {
upload: 'Subir recibo',
dragReceiptBeforeEmail: 'Arrastra un recibo a esta página, reenvíalo a ',
dragReceiptAfterEmail: ' o elije un archivo para subir a continuación.',
chooseReceipt: 'Elige un recibo para subir o reenvía un recibo a ',
chooseFile: 'Elegir archivo',
takePhoto: 'Haz una foto',
cameraAccess: 'Se requiere acceso a la cámara para hacer fotos de los recibos.',
cameraErrorTitle: 'Error en la cámara',
cameraErrorMessage: 'Se produjo un error al hacer una foto, Por favor, inténtalo de nuevo.',
dropTitle: 'Suéltalo',
dropMessage: 'Suelta tu archivo aquí',
flash: 'flash',
shutter: 'obturador',
gallery: 'galería',
deleteReceipt: 'Eliminar recibo',
deleteConfirmation: '¿Estás seguro de que quieres borrar este recibo?',
addReceipt: 'Añadir recibo',
},
quickAction: {
scanReceipt: 'Escanear recibo',
recordDistance: 'Grabar distancia',
requestMoney: 'Presentar gasto',
splitBill: 'Dividir gasto',
splitScan: 'Dividir recibo',
splitDistance: 'Dividir distancia',
paySomeone: ({name}: PaySomeoneParams) => `Pagar a ${name ?? 'alguien'}`,
assignTask: 'Assignar tarea',
header: 'Acción rápida',
trackManual: 'Crear gasto',
trackScan: 'Crear gasto por recibo',
trackDistance: 'Crear gasto por desplazamiento',
noLongerHaveReportAccess: 'Ya no tienes acceso al destino previo de esta acción rápida. Escoge uno nuevo a continuación.',
updateDestination: 'Actualiza el destino',
tooltip: {
title: '¡Acción rápida! ',
subtitle: 'A un click.',
},
},
iou: {
amount: 'Importe',
taxAmount: 'Importe del impuesto',
taxRate: 'Tasa de impuesto',
approve: 'Aprobar',
approved: 'Aprobado',
cash: 'Efectivo',
card: 'Tarjeta',
original: 'Original',
split: 'Dividir',
splitExpense: 'Dividir gasto',
expense: 'Gasto',
categorize: 'Categorizar',
share: 'Compartir',
participants: 'Participantes',
submitExpense: 'Presentar gasto',
paySomeone: ({name}: PaySomeoneParams) => `Pagar a ${name ?? 'alguien'}`,
trackExpense: 'Seguimiento de gastos',
pay: 'Pagar',
cancelPayment: 'Cancelar el pago',
cancelPaymentConfirmation: '¿Estás seguro de que quieres cancelar este pago?',
viewDetails: 'Ver detalles',
pending: 'Pendiente',
canceled: 'Canceló',
posted: 'Contabilizado',
deleteReceipt: 'Eliminar recibo',
pendingMatchWithCreditCard: 'Recibo pendiente de adjuntar con la tarjeta de crédito.',
pendingMatchWithCreditCardDescription: 'Recibo pendiente de adjuntar con tarjeta de crédito. Marca como efectivo para ignorar y solicitar pago.',
markAsCash: 'Marcar como efectivo',
routePending: 'Ruta pendiente...',
receiptIssuesFound: (count: number) => `${count === 1 ? 'Problema encontrado' : 'Problemas encontrados'}`,
fieldPending: 'Pendiente...',
receiptScanning: 'Escaneando recibo...',
receiptScanInProgress: 'Escaneado de recibo en proceso.',
receiptScanInProgressDescription: 'Escaneado de recibo en proceso. Vuelva a comprobar más tarde o introduzca los detalles ahora.',
defaultRate: 'Tasa predeterminada',
receiptMissingDetails: 'Recibo con campos vacíos',
missingAmount: 'Falta importe',
missingMerchant: 'Falta comerciante',
receiptStatusTitle: 'Escaneando…',
receiptStatusText: 'Solo tú puedes ver este recibo cuando se está escaneando. Vuelve más tarde o introduce los detalles ahora.',
receiptScanningFailed: 'El escaneo de recibo ha fallado. Introduce los detalles manualmente.',
transactionPendingDescription: 'Transacción pendiente. La transacción tarda unos días en contabilizarse desde la fecha en que se utilizó la tarjeta.',
expenseCount: ({count, scanningReceipts = 0, pendingReceipts = 0}: RequestCountParams) =>
`${count} ${Str.pluralize('gasto', 'gastos', count)}${scanningReceipts > 0 ? `, ${scanningReceipts} escaneando` : ''}${
pendingReceipts > 0 ? `, ${pendingReceipts} pendiente` : ''
}`,
deleteExpense: 'Eliminar gasto',
deleteConfirmation: '¿Estás seguro de que quieres eliminar esta solicitud?',
settledExpensify: 'Pagado',
settledElsewhere: 'Pagado de otra forma',
individual: 'Individual',
settleExpensify: ({formattedAmount}: SettleExpensifyCardParams) => (formattedAmount ? `Pagar ${formattedAmount} con Expensify` : `Pagar con Expensify`),
settlePersonal: ({formattedAmount}: SettleExpensifyCardParams) => (formattedAmount ? `Pago ${formattedAmount} como individuo` : `Pago individual`),
settlePayment: ({formattedAmount}: SettleExpensifyCardParams) => `Pagar ${formattedAmount}`,
settleBusiness: ({formattedAmount}: SettleExpensifyCardParams) => (formattedAmount ? `Pagar ${formattedAmount} como negocio` : `Pagar como empresa`),
payElsewhere: ({formattedAmount}: SettleExpensifyCardParams) => (formattedAmount ? `Pagar ${formattedAmount} de otra forma` : `Pagar de otra forma`),
nextStep: 'Pasos Siguientes',
finished: 'Finalizado',
sendInvoice: ({amount}: RequestAmountParams) => `Enviar factura de ${amount}`,
submitAmount: ({amount}: RequestAmountParams) => `solicitar ${amount}`,
submittedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `solicitó ${formattedAmount}${comment ? ` para ${comment}` : ''}`,
trackedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `realizó un seguimiento de ${formattedAmount}${comment ? ` para ${comment}` : ''}`,
splitAmount: ({amount}: SplitAmountParams) => `dividir ${amount}`,
didSplitAmount: ({formattedAmount, comment}: DidSplitAmountMessageParams) => `dividió ${formattedAmount}${comment ? ` para ${comment}` : ''}`,
yourSplit: ({amount}: UserSplitParams) => `Tu parte ${amount}`,
payerOwesAmount: ({payer, amount, comment}: PayerOwesAmountParams) => `${payer} debe ${amount}${comment ? ` para ${comment}` : ''}`,
payerOwes: ({payer}: PayerOwesParams) => `${payer} debe: `,
payerPaidAmount: ({payer, amount}: PayerPaidAmountParams) => `${payer ? `${payer} ` : ''}pagó ${amount}`,
payerPaid: ({payer}: PayerPaidParams) => `${payer} pagó: `,
payerSpentAmount: ({payer, amount}: PayerPaidAmountParams): string => `${payer} gastó ${amount}`,
payerSpent: ({payer}: PayerPaidParams) => `${payer} gastó: `,
managerApproved: ({manager}: ManagerApprovedParams) => `${manager} aprobó:`,
managerApprovedAmount: ({manager, amount}: ManagerApprovedAmountParams) => `${manager} aprobó ${amount}`,
payerSettled: ({amount}: PayerSettledParams) => `pagó ${amount}`,
approvedAmount: ({amount}: ApprovedAmountParams) => `aprobó ${amount}`,
waitingOnBankAccount: ({submitterDisplayName}: WaitingOnBankAccountParams) => `inició el pago, pero no se procesará hasta que ${submitterDisplayName} añada una cuenta bancaria`,
adminCanceledRequest: ({manager, amount}: AdminCanceledRequestParams) => `${manager ? `${manager}: ` : ''}canceló el pago de ${amount}.`,
canceledRequest: ({amount, submitterDisplayName}: CanceledRequestParams) =>
`canceló el pago ${amount}, porque ${submitterDisplayName} no habilitó tu billetera Expensify en un plazo de 30 días.`,
settledAfterAddedBankAccount: ({submitterDisplayName, amount}: SettledAfterAddedBankAccountParams) =>
`${submitterDisplayName} añadió una cuenta bancaria. El pago de ${amount} se ha realizado.`,
paidElsewhereWithAmount: ({payer, amount}: PaidElsewhereWithAmountParams) => `${payer ? `${payer} ` : ''}pagó ${amount} de otra forma`,
paidWithExpensifyWithAmount: ({payer, amount}: PaidWithExpensifyWithAmountParams) => `${payer ? `${payer} ` : ''}pagó ${amount} con Expensify`,
noReimbursableExpenses: 'El importe de este informe no es válido',
pendingConversionMessage: 'El total se actualizará cuando estés online',
changedTheExpense: 'cambió el gasto',
setTheRequest: ({valueName, newValueToDisplay}: SetTheRequestParams) => `${valueName === 'comerciante' ? 'el' : 'la'} ${valueName} a ${newValueToDisplay}`,
setTheDistance: ({newDistanceToDisplay, newAmountToDisplay}: SetTheDistanceParams) =>
`estableció la distancia a ${newDistanceToDisplay}, lo que estableció el importe a ${newAmountToDisplay}`,
removedTheRequest: ({valueName, oldValueToDisplay}: RemovedTheRequestParams) => `${valueName === 'comerciante' ? 'el' : 'la'} ${valueName} (previamente ${oldValueToDisplay})`,
updatedTheRequest: ({valueName, newValueToDisplay, oldValueToDisplay}: UpdatedTheRequestParams) =>
`${valueName === 'comerciante' ? 'el' : 'la'} ${valueName} a ${newValueToDisplay} (previamente ${oldValueToDisplay})`,
updatedTheDistance: ({newDistanceToDisplay, oldDistanceToDisplay, newAmountToDisplay, oldAmountToDisplay}: UpdatedTheDistanceParams) =>
`cambió la distancia a ${newDistanceToDisplay} (previamente ${oldDistanceToDisplay}), lo que cambió el importe a ${newAmountToDisplay} (previamente ${oldAmountToDisplay})`,
threadExpenseReportName: ({formattedAmount, comment}: ThreadRequestReportNameParams) => `${comment ? `${formattedAmount} para ${comment}` : `Gasto de ${formattedAmount}`}`,
threadTrackReportName: ({formattedAmount, comment}: ThreadRequestReportNameParams) => `Seguimiento ${formattedAmount} ${comment ? `para ${comment}` : ''}`,
threadPaySomeoneReportName: ({formattedAmount, comment}: ThreadSentMoneyReportNameParams) => `${formattedAmount} enviado${comment ? ` para ${comment}` : ''}`,
tagSelection: 'Selecciona una etiqueta para organizar mejor tu dinero.',
categorySelection: 'Seleccione una categoría para organizar mejor tu dinero.',
error: {
invalidCategoryLength: 'El largo de la categoría escogida excede el máximo permitido (255). Por favor, escoge otra categoría o acorta la categoría primero.',
invalidAmount: 'Por favor, ingresa un importe válido antes de continuar.',
invalidTaxAmount: ({amount}: RequestAmountParams) => `El importe máximo del impuesto es ${amount}`,
invalidSplit: 'La suma de las partes debe ser igual al importe total.',
invalidSplitParticipants: 'Introduce un importe superior a cero para al menos dos participantes.',
other: 'Error inesperado, por favor inténtalo más tarde.',
genericHoldExpenseFailureMessage: 'Error inesperado al bloquear el gasto, por favor inténtalo de nuevo más tarde.',
genericUnholdExpenseFailureMessage: 'Error inesperado al desbloquear el gasto, por favor inténtalo de nuevo más tarde.',
genericCreateFailureMessage: 'Error inesperado al enviar este gasto. Por favor, inténtalo más tarde.',
genericCreateInvoiceFailureMessage: 'Error inesperado al enviar la factura, inténtalo de nuevo más tarde.',
receiptDeleteFailureError: 'Error inesperado al borrar este recibo. Vuelve a intentarlo más tarde.',
// eslint-disable-next-line rulesdir/use-periods-for-error-messages
receiptFailureMessage: 'El recibo no se subió. ',
// eslint-disable-next-line rulesdir/use-periods-for-error-messages
saveFileMessage: 'Guarda el archivo ',
loseFileMessage: 'o descarta este error y piérdelo.',
genericDeleteFailureMessage: 'Error inesperado al eliminar este gasto. Por favor, inténtalo más tarde.',
genericEditFailureMessage: 'Error inesperado al editar este gasto. Por favor, inténtalo más tarde.',
genericSmartscanFailureMessage: 'La transacción tiene campos vacíos.',
duplicateWaypointsErrorMessage: 'Por favor, elimina los puntos de ruta duplicados.',
atLeastTwoDifferentWaypoints: 'Por favor, introduce al menos dos direcciones diferentes.',
splitExpenseMultipleParticipantsErrorMessage: 'Solo puedes dividir un gasto entre un único espacio de trabajo o con usuarios individuales. Por favor, actualiza tu selección.',
invalidMerchant: 'Por favor, introduce un comerciante correcto.',
},
waitingOnEnabledWallet: ({submitterDisplayName}: WaitingOnBankAccountParams) => `inició el pago, pero no se procesará hasta que ${submitterDisplayName} active tu billetera`,
enableWallet: 'Habilitar Billetera',
holdExpense: 'Bloquear gasto',
unholdExpense: 'Desbloquear gasto',
heldExpense: 'bloqueó este gasto',
unheldExpense: 'desbloqueó este gasto',
explainHold: 'Explica la razón para bloquear esta solicitud.',
reason: 'Razón',
holdReasonRequired: 'Se requiere una razón para bloquear.',
expenseOnHold: 'Este gasto está bloqueado. Revisa los comentarios para saber como proceder.',
expenseDuplicate: 'Esta solicitud tiene los mismos detalles que otra. Revise los duplicados para eliminar la retención.',
reviewDuplicates: 'Revisar duplicados',
confirmApprove: 'Confirmar importe a aprobar',
confirmApprovalAmount: 'Aprueba lo que no está bloqueado, o aprueba todo el informe.',
confirmPay: 'Confirmar importe de pago',
confirmPayAmount: 'Paga lo que no está bloqueado, o paga todos los gastos por cuenta propia.',
payOnly: 'Solo pagar',
approveOnly: 'Solo aprobar',
hold: 'Bloqueada',
holdEducationalTitle: 'Este gasto está',
whatIsHoldTitle: '¿Qué es Bloquear?',
whatIsHoldExplain: 'Bloquear es nuestra forma de agilizar la colaboración financiera. ¡"Rechazar" es tan duro!',
holdIsTemporaryTitle: 'Bloquear suele ser temporal',
holdIsTemporaryExplain: 'Se utiliza bloquear para aclarar confusión o aclarar un detalle importante antes del pago, no es permanente.',
deleteHoldTitle: 'Eliminar lo que no se pagará',
deleteHoldExplain: 'En el raro caso de que algo se bloquear y no se pague, la persona que solicita el pago debe eliminarlo.',
set: 'estableció',
changed: 'cambió',
removed: 'eliminó',
transactionPending: 'Transacción pendiente.',
chooseARate: ({unit}: ReimbursementRateParams) => `Seleccione una tasa de reembolso del espacio de trabajo por ${unit}`,
},
notificationPreferencesPage: {
header: 'Preferencias de avisos',
label: 'Avisar sobre nuevos mensajes',
notificationPreferences: {
always: 'Inmediatamente',
daily: 'Cada día',
mute: 'Nunca',
hidden: 'Oculto',
},
},
loginField: {
numberHasNotBeenValidated: 'El número no está validado todavía. Haz click en el botón para reenviar el enlace de confirmación via SMS.',
emailHasNotBeenValidated: 'El email no está validado todavía. Haz click en el botón para reenviar el enlace de confirmación via email.',
},
avatarWithImagePicker: {
uploadPhoto: 'Subir foto',
removePhoto: 'Eliminar foto',
editImage: 'Editar foto',
viewPhoto: 'Ver foto',
imageUploadFailed: 'Error al cargar la imagen',
deleteWorkspaceError: 'Lo sentimos, hubo un problema eliminando el avatar de tu espacio de trabajo.',
sizeExceeded: ({maxUploadSizeInMB}: SizeExceededParams) => `La imagen supera el tamaño máximo de ${maxUploadSizeInMB}MB.`,
resolutionConstraints: ({minHeightInPx, minWidthInPx, maxHeightInPx, maxWidthInPx}: ResolutionConstraintsParams) =>
`Por favor, elige una imagen más grande que ${minHeightInPx}x${minWidthInPx} píxeles y más pequeña que ${maxHeightInPx}x${maxWidthInPx} píxeles.`,
notAllowedExtension: ({allowedExtensions}: NotAllowedExtensionParams) => `La foto de perfil debe ser de uno de los siguientes tipos: ${allowedExtensions.join(', ')}.`,
},
profilePage: {
profile: 'Perfil',
preferredPronouns: 'Pronombres preferidos',
selectYourPronouns: 'Selecciona tus pronombres',
selfSelectYourPronoun: 'Auto-selecciona tu pronombre',
emailAddress: 'Dirección de email',
setMyTimezoneAutomatically: 'Configura mi zona horaria automáticamente',
timezone: 'Zona horaria',
invalidFileMessage: 'Archivo inválido. Pruebe con una imagen diferente.',
avatarUploadFailureMessage: 'No se pudo subir el avatar. Por favor, inténtalo de nuevo.',
online: 'En línea',
offline: 'Desconectado',
syncing: 'Sincronizando',
profileAvatar: 'Perfil avatar',
publicSection: {
title: 'Público',
subtitle: 'Estos detalles se muestran en tu perfil público, a disposición de los demás.',
},
privateSection: {
title: 'Privada',
subtitle: 'Estos detalles se utilizan para viajes y pagos. Nunca se mostrarán en tu perfil público.',
},
},
securityPage: {
title: 'Opciones de seguridad',
subtitle: 'Activa la autenticación de dos factores para mantener tu cuenta segura.',
},
shareCodePage: {
title: 'Tu código',
subtitle: 'Invita a miembros a Expensify compartiendo tu código QR personal o enlace de invitación.',
},
pronounsPage: {
pronouns: 'Pronombres',
isShownOnProfile: 'Tus pronombres se muestran en tu perfil.',
placeholderText: 'Buscar para ver opciones',
},
contacts: {
contactMethod: 'Método de contacto',
contactMethods: 'Métodos de contacto',
helpTextBeforeEmail: 'Añade más formas de que la gente te encuentre y reenvía los recibos a ',
helpTextAfterEmail: ' desde varias direcciones de correo electrónico.',
pleaseVerify: 'Por favor, verifica este método de contacto',
getInTouch: 'Utilizaremos este método de contacto cuando necesitemos contactarte.',
enterMagicCode: ({contactMethod}: EnterMagicCodeParams) => `Por favor, introduce el código mágico enviado a ${contactMethod}`,
setAsDefault: 'Establecer como predeterminado',
yourDefaultContactMethod:
'Este es tu método de contacto predeterminado. No podrás eliminarlo hasta que añadas otro método de contacto y lo marques como predeterminado pulsando "Establecer como predeterminado".',
removeContactMethod: 'Eliminar método de contacto',
removeAreYouSure: '¿Estás seguro de que quieres eliminar este método de contacto? Esta acción no se puede deshacer.',
failedNewContact: 'Hubo un error al añadir este método de contacto.',
genericFailureMessages: {
requestContactMethodValidateCode: 'No se ha podido enviar un nuevo código mágico. Espera un rato y vuelve a intentarlo.',
validateSecondaryLogin: 'Código mágico incorrecto o no válido. Inténtalo de nuevo o solicita otro código.',
deleteContactMethod: 'No se ha podido eliminar este método de contacto. Por favor, contacta con Concierge para obtener ayuda.',
setDefaultContactMethod: 'No se pudo establecer un nuevo método de contacto predeterminado. Por favor contacta con Concierge para obtener ayuda.',
addContactMethod: 'Hubo un error al añadir este método de contacto. Por favor, contacta con Concierge para obtener ayuda.',
enteredMethodIsAlreadySubmited: 'El método de contacto ingresado ya existe.',
passwordRequired: 'Se requiere contraseña',
contactMethodRequired: 'Se requiere método de contacto.',
invalidContactMethod: 'Método de contacto no válido',
},
newContactMethod: 'Nuevo método de contacto',
goBackContactMethods: 'Volver a métodos de contacto',
},
pronouns: {
coCos: 'Co / Cos',
eEyEmEir: 'E / Ey / Em / Eir',
faeFaer: 'Fae / Faer',
heHimHis: 'Él',
heHimHisTheyThemTheirs: 'Él / Ellos',
sheHerHers: 'Ella',
sheHerHersTheyThemTheirs: 'Ella / Ellos',
merMers: 'Mer / Mers',
neNirNirs: 'Ne / Nir / Nirs',
neeNerNers: 'Nee / Ner / Ners',
perPers: 'Per / Pers',
theyThemTheirs: 'Ellos',
thonThons: 'Thon / Thons',
veVerVis: 'Ve / Ver / Vis',
viVir: 'Vi / Vir',
xeXemXyr: 'Xe / Xem / Xyr',
zeZieZirHir: 'Ze / Zie / Zir / Hir',
zeHirHirs: 'Ze / Hir',
callMeByMyName: 'Llámame por mi nombre',
},
displayNamePage: {
headerTitle: 'Nombre',
isShownOnProfile: 'Este nombre es visible en tu perfil.',
},
timezonePage: {
timezone: 'Zona horaria',
isShownOnProfile: 'Tu zona horaria se muestra en tu perfil.',
getLocationAutomatically: 'Detecta tu ubicación automáticamente.',
},
updateRequiredView: {
updateRequired: 'Actualización requerida',
pleaseInstall: 'Por favor, actualiza a la última versión de Nuevo Expensify',
toGetLatestChanges: 'Para móvil o escritorio, descarga e instala la última versión. Para la web, actualiza tu navegador.',
},
initialSettingsPage: {
about: 'Acerca de',
aboutPage: {
description: 'La nueva Expensify está creada por una comunidad de desarrolladores de código abierto de todo el mundo. Ayúdanos a construir el futuro de Expensify.',
appDownloadLinks: 'Enlaces para descargar la App',
viewKeyboardShortcuts: 'Ver atajos de teclado',
viewTheCode: 'Ver código',
viewOpenJobs: 'Ver trabajos disponibles',
reportABug: 'Reportar un error',
troubleshoot: 'Solución de problemas',
},
appDownloadLinks: {
android: {
label: 'Android',
},
ios: {
label: 'iOS',
},
desktop: {
label: 'macOS',
},
},
troubleshoot: {
clearCacheAndRestart: 'Borrar caché y reiniciar',
viewConsole: 'Ver la consola de depuración',
debugConsole: 'Consola de depuración',
description: 'Utilice las herramientas que aparecen a continuación para solucionar los problemas de Expensify. Si tiene algún problema, por favor',
submitBug: 'envíe un error',
confirmResetDescription: 'Todos los borradores no enviados se perderán, pero el resto de tus datos estarán a salvo.',
resetAndRefresh: 'Restablecer y actualizar',
clientSideLogging: 'Registro a nivel cliente',
noLogsToShare: 'No hay logs que compartir',
useProfiling: 'Usar el trazado',
profileTrace: 'Traza de ejecución',
releaseOptions: 'Opciones de publicación',
testingPreferences: 'Preferencias para Tests',
useStagingServer: 'Usar Servidor “Staging”',
forceOffline: 'Forzar desconexión',
simulatFailingNetworkRequests: 'Simular fallos en solicitudes de red',
authenticationStatus: 'Estado de autenticación',
deviceCredentials: 'Credenciales del dispositivo',
invalidate: 'Invalidar',
destroy: 'Destruir',
},
debugConsole: {
saveLog: 'Guardar registro',
shareLog: 'Compartir registro',
enterCommand: 'Introducir comando',
execute: 'Ejecutar',
noLogsAvailable: 'No hay registros disponibles',
logSizeTooLarge: ({size}: LogSizeParams) => `El tamaño del registro excede el límite de ${size} MB. Utilice "Guardar registro" para descargar el archivo de registro.`,
logs: 'Logs',
viewConsole: 'Ver consola',
},
security: 'Seguridad',
restoreStashed: 'Restablecer login guardado',
signOut: 'Desconectar',
signOutConfirmationText: 'Si cierras sesión perderás los cambios hechos mientras estabas desconectado',
versionLetter: 'v',
readTheTermsAndPrivacy: {
phrase1: 'Leer los',
phrase2: 'Términos de Servicio',
phrase3: 'y',
phrase4: 'Privacidad',
},
returnToClassic: 'Volver a Expensify Clásico',
help: 'Ayuda',
accountSettings: 'Configuración de la cuenta',
account: 'Cuenta',
general: 'General',
},
closeAccountPage: {
closeAccount: 'Cerrar cuenta',
reasonForLeavingPrompt: '¡Lamentamos verte partir! ¿Serías tan amable de decirnos por qué, para que podamos mejorar?',
enterMessageHere: 'Escribe aquí tu mensaje',
closeAccountWarning: 'Una vez cerrada tu cuenta no se puede revertir.',
closeAccountPermanentlyDeleteData: '¿Estás seguro de que quieres eliminar tu cuenta? Esta acción eliminará permanentemente toda la información de cualquier gasto pendiente.',
enterDefaultContactToConfirm: 'Por favor, escribe tu método de contacto predeterminado para confirmar que deseas eliminar tu cuenta. Tu método de contacto predeterminado es:',
enterDefaultContact: 'Tu método de contacto predeterminado',
defaultContact: 'Método de contacto predeterminado:',
enterYourDefaultContactMethod: 'Por favor, introduce tu método de contacto predeterminado para cerrar tu cuenta.',
},
passwordPage: {
changePassword: 'Cambiar contraseña',
changingYourPasswordPrompt: 'El cambio de contraseña va a afectar tanto a la cuenta de Expensify.com como la de Nuevo Expensify.',
currentPassword: 'Contraseña actual',
newPassword: 'Nueva contraseña',
newPasswordPrompt: 'La nueva contraseña debe ser diferente de la antigua, tener al menos 8 caracteres, 1 letra mayúscula, 1 letra minúscula y 1 número.',
},
twoFactorAuth: {
headerTitle: 'Autenticación de dos factores',