Séparer le code et le texte: penser à voix haute

Le code que la plupart d'entre nous écrivons contient généralement plus de texte - différents éléments d'interface, descriptions, contenu des e-mails, etc. Mais nous, les programmeurs, n'avons pas tous obtenu des A à l'école pour l'écriture. Nous écrivons un bon code, mais nous ne sommes pas tous bons en prose.





En conséquence, nous voyons des milliers de sites et d'applications qui parlent aux utilisateurs dans un langage non naturel, tel que: «Caractères illégaux utilisés» ou «Opération terminée avec succès». À quelle fréquence dites-vous de telles phrases dans la rue dans votre vie? 





Et si vous essayez de séparer le code (logique) et le texte? Les grandes entreprises, bien sûr, le font depuis longtemps, en utilisant certaines de leurs propres solutions, mais pour tout le monde, il n'y a pas d'utilitaire ou de cadre prêt à l'emploi. 





Réalité

La réalité actuelle est qu'un programmeur écrit lui-même en partie des textes (par exemple, les noms de boutons), prend en partie des textes dans des tâches. Cela fait partie du référentiel - il est stocké avec le code, ce qui signifie que si un membre de l'équipe a besoin de réparer quelque chose, il doit s'engager dans le référentiel. Pas tout à fait parfait - ce n'est pas logique, est-ce juste un morceau de texte?





@extends('layouts.main')

@section('contents')
    <h2>Welcome home</h2>

    <p>
        We are thrilled to have you back, {{ $user->first_name }}
    </p>

    <a href="{{ route('download-bitcoin') }}" class="btn btn-primary">
        Download my money
    </a>
@endsection
      
      



Problèmes

  • Pour corriger le texte, vous devez vous engager dans le référentiel avec le code. Pour certains membres de l'équipe (entreprise), pas pour les programmeurs, cela peut être difficile





  • -





  •  





  • ,





- , .





  1. home.blade.php ( PHP Laravel, )





  2. , - - .





  3. , . .





  4. . - “” - , - .





Laravel, __(), , , .





( Laravel PHP).





  1. , - . , , - .





  2. , API - , . - , , . , CI/CD .





  3. , API. - , . .





  4. -, . . - . product manager, , . 









:





, , - :





@extends('layouts.main')

@section('contents')
    <h2>@lang('Welcome home')</h2>

    <p>
        @lang("We are thrilled to have you back, {$user->first_name}")
    </p>

    <a href="{{ route('download-bitcoin') }}" class="btn btn-primary">
        @lang('Download my money')
    </a>
@endsection
      
      



, , :





  1. - , open-source .





  2. - , . .





  3. La possibilité d'implémenter des tons de voix alternatifs et parallèles sur le site, en fonction du type d'utilisateur (adolescent, jeune mère, grand-père, etc.) - vous pouvez modifier dynamiquement le style de communication du produit. 





Conclusion

Je voudrais entendre les opinions des autres développeurs - critiques positives et sévères. En théorie, un tel service SaaS pourrait avoir une implémentation open-source gratuite, où l'équipe héberge tout elle-même, et un service payant en option, où vous pouvez commander des traductions, vérifier l'orthographe, etc.








All Articles