testimonials 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +8 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +175 -0
  5. data/Rakefile +11 -0
  6. data/app/controllers/testimonials/api/base_controller.rb +30 -0
  7. data/app/controllers/testimonials/api/stats_controller.rb +20 -0
  8. data/app/controllers/testimonials/api/testimonials_controller.rb +41 -0
  9. data/app/controllers/testimonials/application_controller.rb +50 -0
  10. data/app/controllers/testimonials/collection_controller.rb +18 -0
  11. data/app/controllers/testimonials/events_controller.rb +25 -0
  12. data/app/controllers/testimonials/media_controller.rb +48 -0
  13. data/app/controllers/testimonials/nps_controller.rb +71 -0
  14. data/app/controllers/testimonials/nps_responses_controller.rb +25 -0
  15. data/app/controllers/testimonials/testimonials_controller.rb +194 -0
  16. data/app/controllers/testimonials/widgets_controller.rb +36 -0
  17. data/app/helpers/testimonials/widget_helper.rb +83 -0
  18. data/app/models/testimonials/application_record.rb +7 -0
  19. data/app/models/testimonials/nps_response.rb +24 -0
  20. data/app/models/testimonials/prompt_event.rb +60 -0
  21. data/app/models/testimonials/testimonial.rb +53 -0
  22. data/app/views/layouts/testimonials/application.html.erb +118 -0
  23. data/app/views/layouts/testimonials/collection.html.erb +23 -0
  24. data/app/views/testimonials/collection/show.html.erb +12 -0
  25. data/app/views/testimonials/nps_responses/index.html.erb +67 -0
  26. data/app/views/testimonials/testimonials/index.html.erb +108 -0
  27. data/app/views/testimonials/testimonials/show.html.erb +105 -0
  28. data/config/locales/testimonials.ar.yml +101 -0
  29. data/config/locales/testimonials.bg.yml +101 -0
  30. data/config/locales/testimonials.bn.yml +101 -0
  31. data/config/locales/testimonials.de.yml +101 -0
  32. data/config/locales/testimonials.el.yml +101 -0
  33. data/config/locales/testimonials.en.yml +101 -0
  34. data/config/locales/testimonials.es.yml +101 -0
  35. data/config/locales/testimonials.fr.yml +101 -0
  36. data/config/locales/testimonials.hi.yml +101 -0
  37. data/config/locales/testimonials.hr.yml +101 -0
  38. data/config/locales/testimonials.id.yml +101 -0
  39. data/config/locales/testimonials.it.yml +101 -0
  40. data/config/locales/testimonials.ja.yml +101 -0
  41. data/config/locales/testimonials.ko.yml +101 -0
  42. data/config/locales/testimonials.lb.yml +101 -0
  43. data/config/locales/testimonials.nl.yml +101 -0
  44. data/config/locales/testimonials.pl.yml +101 -0
  45. data/config/locales/testimonials.pt.yml +101 -0
  46. data/config/locales/testimonials.ro.yml +101 -0
  47. data/config/locales/testimonials.ru.yml +101 -0
  48. data/config/locales/testimonials.th.yml +101 -0
  49. data/config/locales/testimonials.tr.yml +101 -0
  50. data/config/locales/testimonials.uk.yml +101 -0
  51. data/config/locales/testimonials.ur.yml +101 -0
  52. data/config/locales/testimonials.vi.yml +101 -0
  53. data/config/locales/testimonials.zh-CN.yml +101 -0
  54. data/config/routes.rb +29 -0
  55. data/lib/generators/testimonials/install/install_generator.rb +42 -0
  56. data/lib/generators/testimonials/install/templates/create_testimonials_tables.rb.tt +53 -0
  57. data/lib/generators/testimonials/install/templates/initializer.rb +70 -0
  58. data/lib/testimonials/configuration.rb +129 -0
  59. data/lib/testimonials/dashboard.js +33 -0
  60. data/lib/testimonials/engine.rb +16 -0
  61. data/lib/testimonials/prompt_helper.rb +15 -0
  62. data/lib/testimonials/version.rb +5 -0
  63. data/lib/testimonials/widget.js +1045 -0
  64. data/lib/testimonials/widget.rb +170 -0
  65. data/lib/testimonials.rb +69 -0
  66. metadata +132 -0
@@ -0,0 +1,101 @@
1
+ nl:
2
+ testimonials:
3
+ questions:
4
+ - "Wie ben je en hoe gebruik je %{app}?"
5
+ - "Hoe heeft %{app} je geholpen?"
6
+ - "Wat is het beste aan %{app}?"
7
+ consent: "Ik geef toestemming om deze testimonial te gebruiken op sociale media en voor andere marketingdoeleinden."
8
+ cta: "Laat een review achter"
9
+ update_title: "Werk je review bij"
10
+ enjoying: "Bevalt %{app} je?"
11
+ not_now: "Niet nu"
12
+ rate_aria: "Beoordeel %{count} van 5"
13
+ share_title: "Deel je ervaring"
14
+ promoter_title: "Fijn om te horen! Wil je dat publiekelijk zeggen?"
15
+ questions_title: "Vragen"
16
+ message: "Jouw testimonial"
17
+ message_placeholder: "Wat zou je een vriend over %{app} vertellen?"
18
+ record_video: "Video opnemen"
19
+ record_video_hint: "Een korte video zegt meer dan een pagina tekst."
20
+ name: "Je naam"
21
+ email: "Je e-mail"
22
+ title_company: "Functie, bedrijf"
23
+ photo: "Je foto"
24
+ optional: "optioneel"
25
+ submit: "Versturen"
26
+ cancel: "Annuleren"
27
+ close: "Sluiten"
28
+ thanks: "Ontzettend bedankt!"
29
+ video_check_title: "Cameracheck"
30
+ video_hint: "Maximaal %{seconds} seconden. Je kunt het bekijken voordat je het verstuurt."
31
+ start_recording: "Opname starten"
32
+ stop_recording: "Klaar"
33
+ record_again: "Opnieuw opnemen"
34
+ use_video: "Deze video gebruiken"
35
+ upload_instead: "In plaats daarvan een videobestand uploaden"
36
+ video_attached: "Video toegevoegd"
37
+ remove: "Verwijderen"
38
+ nps_question: "Hoe waarschijnlijk is het dat je %{app} aanbeveelt aan een vriend of collega?"
39
+ nps_low: "Zeer onwaarschijnlijk"
40
+ nps_high: "Zeer waarschijnlijk"
41
+ nps_comment_label: "Wat is de belangrijkste reden voor je score?"
42
+ error_blank: "Schrijf iets of neem een video op."
43
+ error_contact: "Vul je naam en e-mail in."
44
+ error_save: "Versturen mislukt. Probeer het opnieuw."
45
+ error_video_too_large: "De video is te groot (max. %{size} MB)."
46
+ error_camera: "Geen toegang tot de camera. Je kunt in plaats daarvan een videobestand uploaden."
47
+ error_rate_limited: "Te veel inzendingen. Wacht even en probeer opnieuw."
48
+ page:
49
+ title: "Deel je ervaring met %{app}"
50
+ subtitle: "Jouw woorden helpen anderen beslissen — bedankt!"
51
+ kinds:
52
+ text: "Tekst"
53
+ video: "Video"
54
+ sources:
55
+ widget: "In-app widget"
56
+ page: "Verzamelpagina"
57
+ nps: "NPS-opvolging"
58
+ collection_page: "Vraag om testimonials"
59
+ download_video: "Video downloaden"
60
+ statuses:
61
+ pending: "In afwachting"
62
+ approved: "Goedgekeurd"
63
+ archived: "Gearchiveerd"
64
+ dashboard:
65
+ title: "Testimonials"
66
+ nps: "NPS"
67
+ all_kinds: "Alle soorten"
68
+ search: "Zoeken"
69
+ search_placeholder: "Zoek tekst, naam, e-mail…"
70
+ rating: "Beoordeling"
71
+ testimonial: "Testimonial"
72
+ from: "Van"
73
+ consent: "Toestemming"
74
+ no_consent: "Geen publicatietoestemming. Niet geserveerd door de API."
75
+ received: "Ontvangen"
76
+ featured: "Uitgelicht"
77
+ approve: "Goedkeuren"
78
+ feature: "Uitlichten"
79
+ unfeature: "Niet meer uitlichten"
80
+ best_line: "Beste zin"
81
+ best_line_hint: "Het citaat dat je site toont. Laat leeg om de volledige tekst te gebruiken. Bij video's typ je de beste zin die ze zeiden."
82
+ save_best_line: "Opslaan"
83
+ email: "E-mail"
84
+ source: "Bron"
85
+ page: "Pagina"
86
+ locale: "Taal"
87
+ browser: "Browser"
88
+ empty: "Nog niets hier."
89
+ newer: "← Nieuwer"
90
+ older: "Ouder →"
91
+ move_to_pending: "Markeer als in afwachting"
92
+ move_to_approved: "Goedkeuren"
93
+ move_to_archived: "Archiveren"
94
+ delete: "Verwijderen"
95
+ delete_confirm: "Deze testimonial verwijderen?"
96
+ nps_score: "NPS-score"
97
+ promoters: "Promotors (9–10)"
98
+ passives: "Passieven (7–8)"
99
+ detractors: "Criticasters (0–6)"
100
+ score: "Score"
101
+ comment: "Opmerking"
@@ -0,0 +1,101 @@
1
+ pl:
2
+ testimonials:
3
+ questions:
4
+ - "Kim jesteś i jak korzystasz z %{app}?"
5
+ - "Jak %{app} Ci pomogło?"
6
+ - "Co jest najlepsze w %{app}?"
7
+ consent: "Wyrażam zgodę na wykorzystanie tej opinii w mediach społecznościowych i innych działaniach marketingowych."
8
+ cta: "Zostaw opinię"
9
+ update_title: "Zaktualizuj swoją opinię"
10
+ enjoying: "Podoba Ci się %{app}?"
11
+ not_now: "Nie teraz"
12
+ rate_aria: "Oceń %{count} na 5"
13
+ share_title: "Podziel się swoim doświadczeniem"
14
+ promoter_title: "Miło to słyszeć! Powiesz to publicznie?"
15
+ questions_title: "Pytania"
16
+ message: "Twoja opinia"
17
+ message_placeholder: "Co powiedziałbyś znajomemu o %{app}?"
18
+ record_video: "Nagraj wideo"
19
+ record_video_hint: "Krótkie wideo mówi więcej niż strona tekstu."
20
+ name: "Twoje imię"
21
+ email: "Twój e-mail"
22
+ title_company: "Stanowisko, firma"
23
+ photo: "Twoje zdjęcie"
24
+ optional: "opcjonalnie"
25
+ submit: "Wyślij"
26
+ cancel: "Anuluj"
27
+ close: "Zamknij"
28
+ thanks: "Bardzo dziękujemy!"
29
+ video_check_title: "Sprawdzenie kamery"
30
+ video_hint: "Do %{seconds} sekund. Możesz obejrzeć nagranie przed wysłaniem."
31
+ start_recording: "Rozpocznij nagrywanie"
32
+ stop_recording: "Zakończ"
33
+ record_again: "Nagraj ponownie"
34
+ use_video: "Użyj tego wideo"
35
+ upload_instead: "Prześlij plik wideo zamiast tego"
36
+ video_attached: "Wideo załączone"
37
+ remove: "Usuń"
38
+ nps_question: "Jak prawdopodobne jest, że polecisz %{app} znajomemu lub współpracownikowi?"
39
+ nps_low: "Zupełnie nieprawdopodobne"
40
+ nps_high: "Bardzo prawdopodobne"
41
+ nps_comment_label: "Jaki jest główny powód Twojej oceny?"
42
+ error_blank: "Napisz coś lub nagraj wideo."
43
+ error_contact: "Podaj swoje imię i e-mail."
44
+ error_save: "Nie udało się wysłać. Spróbuj ponownie."
45
+ error_video_too_large: "Wideo jest za duże (maks. %{size} MB)."
46
+ error_camera: "Brak dostępu do kamery. Możesz zamiast tego przesłać plik wideo."
47
+ error_rate_limited: "Zbyt wiele zgłoszeń. Odczekaj chwilę i spróbuj ponownie."
48
+ page:
49
+ title: "Podziel się swoim doświadczeniem z %{app}"
50
+ subtitle: "Twoje słowa pomagają innym podjąć decyzję — dziękujemy!"
51
+ kinds:
52
+ text: "Tekst"
53
+ video: "Wideo"
54
+ sources:
55
+ widget: "Widżet w aplikacji"
56
+ page: "Strona zbierania"
57
+ nps: "Kontynuacja NPS"
58
+ collection_page: "Poproś o opinie"
59
+ download_video: "Pobierz wideo"
60
+ statuses:
61
+ pending: "Oczekujące"
62
+ approved: "Zatwierdzone"
63
+ archived: "Zarchiwizowane"
64
+ dashboard:
65
+ title: "Opinie"
66
+ nps: "NPS"
67
+ all_kinds: "Wszystkie rodzaje"
68
+ search: "Szukaj"
69
+ search_placeholder: "Szukaj tekstu, imienia, e-maila…"
70
+ rating: "Ocena"
71
+ testimonial: "Opinia"
72
+ from: "Od"
73
+ consent: "Zgoda"
74
+ no_consent: "Brak zgody na publikację. Nie serwowane przez API."
75
+ received: "Otrzymano"
76
+ featured: "Wyróżnione"
77
+ approve: "Zatwierdź"
78
+ feature: "Wyróżnij"
79
+ unfeature: "Usuń wyróżnienie"
80
+ best_line: "Najlepsze zdanie"
81
+ best_line_hint: "Cytat, który pokaże twoja strona. Zostaw puste, aby użyć całego tekstu. Przy wideo wpisz najlepsze wypowiedziane zdanie."
82
+ save_best_line: "Zapisz"
83
+ email: "E-mail"
84
+ source: "Źródło"
85
+ page: "Strona"
86
+ locale: "Język"
87
+ browser: "Przeglądarka"
88
+ empty: "Jeszcze nic tu nie ma."
89
+ newer: "← Nowsze"
90
+ older: "Starsze →"
91
+ move_to_pending: "Oznacz jako oczekujące"
92
+ move_to_approved: "Zatwierdź"
93
+ move_to_archived: "Zarchiwizuj"
94
+ delete: "Usuń"
95
+ delete_confirm: "Usunąć tę opinię?"
96
+ nps_score: "Wynik NPS"
97
+ promoters: "Promotorzy (9–10)"
98
+ passives: "Neutralni (7–8)"
99
+ detractors: "Krytycy (0–6)"
100
+ score: "Wynik"
101
+ comment: "Komentarz"
@@ -0,0 +1,101 @@
1
+ pt:
2
+ testimonials:
3
+ questions:
4
+ - "Quem é você e como usa %{app}?"
5
+ - "Como %{app} ajudou você?"
6
+ - "Qual é a melhor coisa de %{app}?"
7
+ consent: "Autorizo o uso deste depoimento em redes sociais e outras ações de marketing."
8
+ cta: "Deixar uma avaliação"
9
+ update_title: "Atualizar sua avaliação"
10
+ enjoying: "Está gostando de %{app}?"
11
+ not_now: "Agora não"
12
+ rate_aria: "Avaliar %{count} de 5"
13
+ share_title: "Compartilhe sua experiência"
14
+ promoter_title: "Que bom saber! Toparia dizer isso publicamente?"
15
+ questions_title: "Perguntas"
16
+ message: "Seu depoimento"
17
+ message_placeholder: "O que você diria a um amigo sobre %{app}?"
18
+ record_video: "Gravar um vídeo"
19
+ record_video_hint: "Um vídeo curto diz mais do que uma página de texto."
20
+ name: "Seu nome"
21
+ email: "Seu e-mail"
22
+ title_company: "Cargo, empresa"
23
+ photo: "Sua foto"
24
+ optional: "opcional"
25
+ submit: "Enviar"
26
+ cancel: "Cancelar"
27
+ close: "Fechar"
28
+ thanks: "Muito obrigado!"
29
+ video_check_title: "Teste de câmera"
30
+ video_hint: "Até %{seconds} segundos. Você pode revisar antes de enviar."
31
+ start_recording: "Iniciar gravação"
32
+ stop_recording: "Concluir"
33
+ record_again: "Gravar novamente"
34
+ use_video: "Usar este vídeo"
35
+ upload_instead: "Enviar um arquivo de vídeo em vez disso"
36
+ video_attached: "Vídeo anexado"
37
+ remove: "Remover"
38
+ nps_question: "Qual a probabilidade de você recomendar %{app} a um amigo ou colega?"
39
+ nps_low: "Nada provável"
40
+ nps_high: "Extremamente provável"
41
+ nps_comment_label: "Qual é o principal motivo da sua nota?"
42
+ error_blank: "Escreva algo ou grave um vídeo."
43
+ error_contact: "Informe seu nome e seu e-mail."
44
+ error_save: "Não foi possível enviar. Tente novamente."
45
+ error_video_too_large: "O vídeo é muito grande (máx. %{size} MB)."
46
+ error_camera: "Não foi possível acessar a câmera. Você pode enviar um arquivo de vídeo."
47
+ error_rate_limited: "Muitos envios. Aguarde um momento e tente novamente."
48
+ page:
49
+ title: "Compartilhe sua experiência com %{app}"
50
+ subtitle: "Suas palavras ajudam outras pessoas a decidir — obrigado!"
51
+ kinds:
52
+ text: "Texto"
53
+ video: "Vídeo"
54
+ sources:
55
+ widget: "Widget no app"
56
+ page: "Página de coleta"
57
+ nps: "Acompanhamento NPS"
58
+ collection_page: "Pedir depoimentos"
59
+ download_video: "Baixar o vídeo"
60
+ statuses:
61
+ pending: "Pendente"
62
+ approved: "Aprovado"
63
+ archived: "Arquivado"
64
+ dashboard:
65
+ title: "Depoimentos"
66
+ nps: "NPS"
67
+ all_kinds: "Todos os tipos"
68
+ search: "Buscar"
69
+ search_placeholder: "Buscar texto, nome, e-mail…"
70
+ rating: "Avaliação"
71
+ testimonial: "Depoimento"
72
+ from: "De"
73
+ consent: "Consentimento"
74
+ no_consent: "Sem consentimento de publicação. Não servido pela API."
75
+ received: "Recebido"
76
+ featured: "Destacado"
77
+ approve: "Aprovar"
78
+ feature: "Destacar"
79
+ unfeature: "Remover destaque"
80
+ best_line: "Melhor frase"
81
+ best_line_hint: "A citação que seu site vai mostrar. Deixe em branco para usar o texto completo. Em vídeos, digite a melhor frase dita."
82
+ save_best_line: "Salvar"
83
+ email: "E-mail"
84
+ source: "Origem"
85
+ page: "Página"
86
+ locale: "Idioma"
87
+ browser: "Navegador"
88
+ empty: "Nada por aqui ainda."
89
+ newer: "← Mais recentes"
90
+ older: "Mais antigos →"
91
+ move_to_pending: "Marcar como pendente"
92
+ move_to_approved: "Aprovar"
93
+ move_to_archived: "Arquivar"
94
+ delete: "Excluir"
95
+ delete_confirm: "Excluir este depoimento?"
96
+ nps_score: "Pontuação NPS"
97
+ promoters: "Promotores (9–10)"
98
+ passives: "Neutros (7–8)"
99
+ detractors: "Detratores (0–6)"
100
+ score: "Nota"
101
+ comment: "Comentário"
@@ -0,0 +1,101 @@
1
+ ro:
2
+ testimonials:
3
+ questions:
4
+ - "Cine sunteți și cum folosiți %{app}?"
5
+ - "Cum v-a ajutat %{app}?"
6
+ - "Care este cel mai bun lucru la %{app}?"
7
+ consent: "Îmi dau acordul ca acest testimonial să fie folosit pe rețelele sociale și în alte acțiuni de marketing."
8
+ cta: "Lasă o recenzie"
9
+ update_title: "Actualizează-ți recenzia"
10
+ enjoying: "Vă place %{app}?"
11
+ not_now: "Nu acum"
12
+ rate_aria: "Acordați %{count} din 5"
13
+ share_title: "Împărtășiți-vă experiența"
14
+ promoter_title: "Ne bucurăm să auzim! Ați spune-o public?"
15
+ questions_title: "Întrebări"
16
+ message: "Testimonialul dvs."
17
+ message_placeholder: "Ce i-ați spune unui prieten despre %{app}?"
18
+ record_video: "Înregistrați un videoclip"
19
+ record_video_hint: "Un videoclip scurt spune mai mult decât o pagină de text."
20
+ name: "Numele dvs."
21
+ email: "Emailul dvs."
22
+ title_company: "Funcție, companie"
23
+ photo: "Fotografia dvs."
24
+ optional: "opțional"
25
+ submit: "Trimite"
26
+ cancel: "Anulează"
27
+ close: "Închide"
28
+ thanks: "Mulțumim mult!"
29
+ video_check_title: "Verificarea camerei"
30
+ video_hint: "Până la %{seconds} secunde. Îl puteți revedea înainte de trimitere."
31
+ start_recording: "Începe înregistrarea"
32
+ stop_recording: "Finalizează"
33
+ record_again: "Înregistrează din nou"
34
+ use_video: "Folosește acest videoclip"
35
+ upload_instead: "Încărcați în schimb un fișier video"
36
+ video_attached: "Videoclip atașat"
37
+ remove: "Elimină"
38
+ nps_question: "Cât de probabil este să recomandați %{app} unui prieten sau coleg?"
39
+ nps_low: "Deloc probabil"
40
+ nps_high: "Extrem de probabil"
41
+ nps_comment_label: "Care este motivul principal al notei dvs.?"
42
+ error_blank: "Vă rugăm să scrieți ceva sau să înregistrați un videoclip."
43
+ error_contact: "Vă rugăm să introduceți numele și emailul."
44
+ error_save: "Trimiterea a eșuat. Încercați din nou."
45
+ error_video_too_large: "Videoclipul este prea mare (max. %{size} MB)."
46
+ error_camera: "Nu s-a putut accesa camera. Puteți încărca în schimb un fișier video."
47
+ error_rate_limited: "Prea multe trimiteri. Așteptați puțin și încercați din nou."
48
+ page:
49
+ title: "Împărtășiți-vă experiența cu %{app}"
50
+ subtitle: "Cuvintele dvs. îi ajută pe alții să decidă — mulțumim!"
51
+ kinds:
52
+ text: "Text"
53
+ video: "Video"
54
+ sources:
55
+ widget: "Widget în aplicație"
56
+ page: "Pagină de colectare"
57
+ nps: "Continuare NPS"
58
+ collection_page: "Cere testimoniale"
59
+ download_video: "Descarcă videoclipul"
60
+ statuses:
61
+ pending: "În așteptare"
62
+ approved: "Aprobat"
63
+ archived: "Arhivat"
64
+ dashboard:
65
+ title: "Testimoniale"
66
+ nps: "NPS"
67
+ all_kinds: "Toate tipurile"
68
+ search: "Căutare"
69
+ search_placeholder: "Căutați text, nume, email…"
70
+ rating: "Notă"
71
+ testimonial: "Testimonial"
72
+ from: "De la"
73
+ consent: "Consimțământ"
74
+ no_consent: "Fără consimțământ de publicare. Nu este servit de API."
75
+ received: "Primit"
76
+ featured: "Evidențiat"
77
+ approve: "Aprobă"
78
+ feature: "Evidențiază"
79
+ unfeature: "Anulează evidențierea"
80
+ best_line: "Cea mai bună frază"
81
+ best_line_hint: "Citatul afișat pe site. Lăsați gol pentru textul complet. La video, scrieți cea mai bună frază spusă."
82
+ save_best_line: "Salvează"
83
+ email: "Email"
84
+ source: "Sursă"
85
+ page: "Pagină"
86
+ locale: "Limbă"
87
+ browser: "Browser"
88
+ empty: "Încă nu este nimic aici."
89
+ newer: "← Mai noi"
90
+ older: "Mai vechi →"
91
+ move_to_pending: "Marchează în așteptare"
92
+ move_to_approved: "Aprobă"
93
+ move_to_archived: "Arhivează"
94
+ delete: "Șterge"
95
+ delete_confirm: "Ștergeți acest testimonial?"
96
+ nps_score: "Scor NPS"
97
+ promoters: "Promotori (9–10)"
98
+ passives: "Pasivi (7–8)"
99
+ detractors: "Detractori (0–6)"
100
+ score: "Scor"
101
+ comment: "Comentariu"
@@ -0,0 +1,101 @@
1
+ ru:
2
+ testimonials:
3
+ questions:
4
+ - "Кто вы и как вы используете %{app}?"
5
+ - "Как %{app} вам помог?"
6
+ - "Что самое лучшее в %{app}?"
7
+ consent: "Я разрешаю использовать этот отзыв в соцсетях и других маркетинговых материалах."
8
+ cta: "Оставить отзыв"
9
+ update_title: "Обновить ваш отзыв"
10
+ enjoying: "Нравится %{app}?"
11
+ not_now: "Не сейчас"
12
+ rate_aria: "Оценить на %{count} из 5"
13
+ share_title: "Поделитесь своим опытом"
14
+ promoter_title: "Приятно слышать! Расскажете об этом публично?"
15
+ questions_title: "Вопросы"
16
+ message: "Ваш отзыв"
17
+ message_placeholder: "Что бы вы рассказали другу о %{app}?"
18
+ record_video: "Записать видео"
19
+ record_video_hint: "Короткое видео скажет больше, чем страница текста."
20
+ name: "Ваше имя"
21
+ email: "Ваша почта"
22
+ title_company: "Должность, компания"
23
+ photo: "Ваше фото"
24
+ optional: "необязательно"
25
+ submit: "Отправить"
26
+ cancel: "Отмена"
27
+ close: "Закрыть"
28
+ thanks: "Большое спасибо!"
29
+ video_check_title: "Проверка камеры"
30
+ video_hint: "До %{seconds} секунд. Вы сможете просмотреть запись перед отправкой."
31
+ start_recording: "Начать запись"
32
+ stop_recording: "Завершить"
33
+ record_again: "Записать заново"
34
+ use_video: "Использовать это видео"
35
+ upload_instead: "Загрузить видеофайл вместо записи"
36
+ video_attached: "Видео прикреплено"
37
+ remove: "Убрать"
38
+ nps_question: "Насколько вероятно, что вы порекомендуете %{app} другу или коллеге?"
39
+ nps_low: "Совсем маловероятно"
40
+ nps_high: "Крайне вероятно"
41
+ nps_comment_label: "Какова главная причина вашей оценки?"
42
+ error_blank: "Напишите что-нибудь или запишите видео."
43
+ error_contact: "Укажите ваше имя и почту."
44
+ error_save: "Не удалось отправить. Попробуйте ещё раз."
45
+ error_video_too_large: "Видео слишком большое (макс. %{size} МБ)."
46
+ error_camera: "Нет доступа к камере. Вы можете загрузить видеофайл."
47
+ error_rate_limited: "Слишком много отправок. Подождите немного и попробуйте снова."
48
+ page:
49
+ title: "Поделитесь своим опытом с %{app}"
50
+ subtitle: "Ваши слова помогают другим решиться — спасибо!"
51
+ kinds:
52
+ text: "Текст"
53
+ video: "Видео"
54
+ sources:
55
+ widget: "Виджет в приложении"
56
+ page: "Страница сбора"
57
+ nps: "После NPS"
58
+ collection_page: "Попросить отзывы"
59
+ download_video: "Скачать видео"
60
+ statuses:
61
+ pending: "Ожидает"
62
+ approved: "Одобрено"
63
+ archived: "В архиве"
64
+ dashboard:
65
+ title: "Отзывы"
66
+ nps: "NPS"
67
+ all_kinds: "Все типы"
68
+ search: "Поиск"
69
+ search_placeholder: "Искать текст, имя, почту…"
70
+ rating: "Оценка"
71
+ testimonial: "Отзыв"
72
+ from: "От"
73
+ consent: "Согласие"
74
+ no_consent: "Нет согласия на публикацию. Не отдаётся через API."
75
+ received: "Получено"
76
+ featured: "Избранное"
77
+ approve: "Одобрить"
78
+ feature: "В избранное"
79
+ unfeature: "Убрать из избранного"
80
+ best_line: "Лучшая фраза"
81
+ best_line_hint: "Цитата, которую покажет ваш сайт. Оставьте пустым, чтобы использовать полный текст. Для видео впишите лучшую сказанную фразу."
82
+ save_best_line: "Сохранить"
83
+ email: "Почта"
84
+ source: "Источник"
85
+ page: "Страница"
86
+ locale: "Язык"
87
+ browser: "Браузер"
88
+ empty: "Пока здесь пусто."
89
+ newer: "← Новее"
90
+ older: "Старее →"
91
+ move_to_pending: "Пометить как ожидает"
92
+ move_to_approved: "Одобрить"
93
+ move_to_archived: "В архив"
94
+ delete: "Удалить"
95
+ delete_confirm: "Удалить этот отзыв?"
96
+ nps_score: "Индекс NPS"
97
+ promoters: "Промоутеры (9–10)"
98
+ passives: "Нейтралы (7–8)"
99
+ detractors: "Критики (0–6)"
100
+ score: "Оценка"
101
+ comment: "Комментарий"
@@ -0,0 +1,101 @@
1
+ th:
2
+ testimonials:
3
+ questions:
4
+ - "คุณคือใคร และใช้ %{app} อย่างไร?"
5
+ - "%{app} ช่วยคุณอย่างไรบ้าง?"
6
+ - "สิ่งที่ดีที่สุดของ %{app} คืออะไร?"
7
+ consent: "ฉันอนุญาตให้ใช้คำรับรองนี้บนโซเชียลมีเดียและกิจกรรมการตลาดอื่น ๆ"
8
+ cta: "เขียนรีวิว"
9
+ update_title: "อัปเดตรีวิวของคุณ"
10
+ enjoying: "ชอบ %{app} ไหม?"
11
+ not_now: "ไว้ทีหลัง"
12
+ rate_aria: "ให้คะแนน %{count} จาก 5"
13
+ share_title: "แบ่งปันประสบการณ์ของคุณ"
14
+ promoter_title: "ดีใจที่ได้ยิน! ช่วยบอกต่อแบบสาธารณะได้ไหม?"
15
+ questions_title: "คำถาม"
16
+ message: "คำรับรองของคุณ"
17
+ message_placeholder: "คุณจะบอกเพื่อนเกี่ยวกับ %{app} ว่าอย่างไร?"
18
+ record_video: "อัดวิดีโอ"
19
+ record_video_hint: "วิดีโอสั้น ๆ บอกได้มากกว่าข้อความหนึ่งหน้า"
20
+ name: "ชื่อของคุณ"
21
+ email: "อีเมลของคุณ"
22
+ title_company: "ตำแหน่ง, บริษัท"
23
+ photo: "รูปถ่ายของคุณ"
24
+ optional: "ไม่บังคับ"
25
+ submit: "ส่ง"
26
+ cancel: "ยกเลิก"
27
+ close: "ปิด"
28
+ thanks: "ขอบคุณมาก!"
29
+ video_check_title: "ตรวจสอบกล้อง"
30
+ video_hint: "สูงสุด %{seconds} วินาที คุณสามารถดูก่อนส่งได้"
31
+ start_recording: "เริ่มอัด"
32
+ stop_recording: "เสร็จสิ้น"
33
+ record_again: "อัดใหม่"
34
+ use_video: "ใช้วิดีโอนี้"
35
+ upload_instead: "อัปโหลดไฟล์วิดีโอแทน"
36
+ video_attached: "แนบวิดีโอแล้ว"
37
+ remove: "นำออก"
38
+ nps_question: "คุณมีแนวโน้มจะแนะนำ %{app} ให้เพื่อนหรือเพื่อนร่วมงานมากแค่ไหน?"
39
+ nps_low: "ไม่แนะนำแน่นอน"
40
+ nps_high: "แนะนำอย่างยิ่ง"
41
+ nps_comment_label: "เหตุผลหลักของคะแนนคุณคืออะไร?"
42
+ error_blank: "กรุณาเขียนอะไรสักหน่อยหรืออัดวิดีโอ"
43
+ error_contact: "กรุณากรอกชื่อและอีเมลของคุณ"
44
+ error_save: "ส่งไม่สำเร็จ กรุณาลองใหม่"
45
+ error_video_too_large: "วิดีโอใหญ่เกินไป (สูงสุด %{size} MB)"
46
+ error_camera: "เข้าถึงกล้องไม่ได้ คุณสามารถอัปโหลดไฟล์วิดีโอแทนได้"
47
+ error_rate_limited: "ส่งบ่อยเกินไป กรุณารอสักครู่แล้วลองใหม่"
48
+ page:
49
+ title: "แบ่งปันประสบการณ์ของคุณกับ %{app}"
50
+ subtitle: "คำพูดของคุณช่วยให้คนอื่นตัดสินใจได้ — ขอบคุณ!"
51
+ kinds:
52
+ text: "ข้อความ"
53
+ video: "วิดีโอ"
54
+ sources:
55
+ widget: "วิดเจ็ตในแอป"
56
+ page: "หน้ารวบรวม"
57
+ nps: "ติดตามผล NPS"
58
+ collection_page: "ขอคำรับรอง"
59
+ download_video: "ดาวน์โหลดวิดีโอ"
60
+ statuses:
61
+ pending: "รอดำเนินการ"
62
+ approved: "อนุมัติแล้ว"
63
+ archived: "เก็บถาวรแล้ว"
64
+ dashboard:
65
+ title: "คำรับรอง"
66
+ nps: "NPS"
67
+ all_kinds: "ทุกประเภท"
68
+ search: "ค้นหา"
69
+ search_placeholder: "ค้นหาข้อความ ชื่อ อีเมล…"
70
+ rating: "คะแนน"
71
+ testimonial: "คำรับรอง"
72
+ from: "จาก"
73
+ consent: "ความยินยอม"
74
+ no_consent: "ไม่มีความยินยอมให้เผยแพร่ จะไม่ถูกส่งผ่าน API"
75
+ received: "ได้รับเมื่อ"
76
+ featured: "แนะนำ"
77
+ approve: "อนุมัติ"
78
+ feature: "ตั้งเป็นแนะนำ"
79
+ unfeature: "เอาออกจากแนะนำ"
80
+ best_line: "ประโยคเด็ด"
81
+ best_line_hint: "คำพูดที่เว็บไซต์ของคุณจะแสดง เว้นว่างเพื่อใช้ข้อความเต็ม สำหรับวิดีโอ ให้พิมพ์ประโยคที่ดีที่สุดที่พูดไว้"
82
+ save_best_line: "บันทึก"
83
+ email: "อีเมล"
84
+ source: "ที่มา"
85
+ page: "หน้า"
86
+ locale: "ภาษา"
87
+ browser: "เบราว์เซอร์"
88
+ empty: "ยังไม่มีอะไรที่นี่"
89
+ newer: "← ใหม่กว่า"
90
+ older: "เก่ากว่า →"
91
+ move_to_pending: "ทำเครื่องหมายรอดำเนินการ"
92
+ move_to_approved: "อนุมัติ"
93
+ move_to_archived: "เก็บถาวร"
94
+ delete: "ลบ"
95
+ delete_confirm: "ลบคำรับรองนี้?"
96
+ nps_score: "คะแนน NPS"
97
+ promoters: "ผู้สนับสนุน (9–10)"
98
+ passives: "เป็นกลาง (7–8)"
99
+ detractors: "ผู้ไม่พอใจ (0–6)"
100
+ score: "คะแนน"
101
+ comment: "ความคิดเห็น"