Codage dans d'autres langues (parlées)


105

C'est quelque chose que je me suis toujours demandé et je ne trouve aucune mention en ligne. Lorsqu'un magasin du Japon, par exemple, écrit du code, pourrais-je le lire en anglais? Ou est-ce que les langues, comme C, PHP, quelque chose, ont des traductions japonaises qu'elles écrivent?

Je suppose que ce que je demande, c'est que tous les codeurs du monde connaissent suffisamment l'anglais pour utiliser exactement les mêmes mots réservés que moi?

Est-ce que ce code:

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

afficher exactement le même que je le vois actuellement en anglais, ou une autre personne non anglophone verrait-elle les mots "if", "switch", "case", "default", "print" et " else "dans leur langue maternelle?

EDIT - oui, c'est sérieux. Je ne savais pas si différentes localisations d'une langue avaient des mots-clés différents. ou s'il existe même des localisations différentes.


3
Question corollaire: y a-t-il des langues courantes dont les mots-clés ne sont pas en anglais (même si la langue a été inventée à l'origine dans un endroit où l'anglais n'est pas une langue maternelle)?
Jon Schneider

Cette question me rappelle une conversation que j'ai eue une fois avec un (étranger) qui pensait que la langue principale de Dieu était l'anglais, donc d'autres personnes devraient l'apprendre afin que leurs prières puissent être comprises. (Je ne veux pas être impoli, question intéressante quand même)
wallyqs

Et je pensais que Dieu était omnipotent!
Autodidacte

Dieu ne connaît qu'une seule langue. C'est un dialecte obscur d'un village mésopotamien aujourd'hui éteint. C'est pourquoi il ne répond pas à vos prières et pourquoi de mauvaises choses arrivent aux bonnes personnes (il devient tellement confus).
Anthony

1
Oh, et maintenant que j'ai lu certaines des réponses ... Bonne question. J'ai toujours supposé qu'il existait des versions localisées de code informatique, mais à bien y penser, certaines conventions seraient un cauchemar à mettre en œuvre (direction de droite à gauche ou orientée verticalement) et d'autres seraient simplement difficiles à accommoder (en particulier: les lignes en PHP se terminent par un point-virgule. Ceci est basé sur la coutume occidentale de terminer les clauses complètes par un point-virgule. Imaginez que vous essayez de localiser pour les coutumes de ponctuation. Peut-être même avoir la bonne marque espagnole).
Anthony

Réponses:


159

Si j'ai bien compris, la question est en fait: "est-ce que chaque codeur dans le monde connaît suffisamment l'anglais pour utiliser exactement les mêmes mots réservés que moi?"

Bon .. L'anglais n'est pas le sujet ici mais les mots réservés au langage de programmation. Je veux dire, quand j'ai commencé il y a environ 10 ans, je n'avais aucune idée de l'anglais, et j'étais quand même capable de programmer des choses simples en apprenant le langage de programmation, même si je ne savais pas ce qu'elles signifiaient (en anglais). En fait, cela m'a aidé à apprendre l'anglais.

Par exemple. Je sais que pour faire une "itération" (itération bien sûr) j'ai dû écrire:

 for( i = 0 ; i < 100 ; i++ ) {}

Pour moi, le "pour", le ";" et le "++" où de simples mots ou symboles étrangers. Plus tard, j'apprends que "pour" signifiait "para" et "while" signifiait "mientras", etc.

Bien sûr, quand j'avais besoin d'apprendre plus de choses, je devais apprendre l'anglais, car la documentation est écrite dans cette langue.

Donc la réponse est: non, je ne vois pas si, pendant, pour etc. dans ma langue maternelle. Je les vois en anglais, mais ils ne signifiaient pas pour moi autre chose qu'ils signifiaient à leur tour pour le langage de programmation.

Est comme l'instruction switch dans bash: case .. esac. Qu'est-ce que "esac" ... pour moi, la fin de l'instruction switch dans bash.

Je suppose que c'est ce que nous appelons «abstraction»


10
Au fait, «esac» est juste le cas à l'envers. Je ne pourrais pas dire si vous faisiez semblant de ne pas savoir pour faire valoir un point ou non, mais je pouvais voir à quel point ce serait déroutant pour les non anglophones.
pbh101

9
Bien sûr, comme fi est de if, mais, à un moment donné, la seule signification qu'ils ont est "vous terminez une instruction switch en écrivant 'esac'" ... N'est-ce pas qu'ils sont déroutants ou pas, mais ils ne veulent pas dire n'importe quoi en anglais. Mais ils ont une signification en C ou bash, ou pascal. C'est le but. Nous apprenons le langage de programmation.
OscarRyz

5
Notez que dans Excel, cette macro est traduite dans la langue locale, et "if" devient "si" en français, ce qui rend les outils absolument inutilisables.
e-satis

9
Vous alliez toujours obtenir la meilleure réponse d'un anglophone non natif. Je suis écossais et apprendre l'anglais a été difficile pour moi aussi ;-)
Davie

9
+1 Quand j'ai commencé à programmer, je ne savais même pas comment prononcer goto correctement. Mais plus tard, quand j'ai appris ce que cela signifiait, cela m'a fait sourire.
Hamish Grubijan

28

Dans le langage Java, certaines méthodes doivent être nommées (au moins partiellement) en anglais en raison de la convention JavaBeans.

Cette convention requiert qu'une propriété X soit établie via une paire de méthodes getX () et setX (). Ici au Canada français, où certains développeurs sont obligés de coder en français, cela conduit à la parodie suivante:

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

9
Oh cripes! La bureaucratie gagne à nouveau! :(
AR.

3
ouais, dans les écoles françaises, on vous apprend à le faire de cette façon. C'est tellement nul que les élèves n'utilisent jamais ce qu'ils ont fait en classe pour coder dans le monde réel et se penchent rapidement par eux-mêmes pour l'écrire en anglais simple.
e-satis

À mon université, certains professeurs ont utilisé le finnois dans le code d'exemple, et le résultat était généralement encore plus gênant, même si je comprenais leurs raisons de principe à cela. Heureusement, «dans le monde réel» c'est presque inconnu (du moins dans le secteur privé). Anglais FTW (en ce qui concerne la programmation).
Jonik

2
@Jonik: Au moins, vous n'avez pas eu à vous disputer sur ASCII / jeu de caractères étendu. Dans certains endroits (ici), il y avait un grand débat sur la façon de nommer vos identifiants a) en anglais, b) en tchèque sans accents, c) en tchèque avec les accents (dont la plupart ne peuvent pas taper sans la disposition du clavier tchèque , merveilleux pour la maintenabilité par quiconque).
Piskvor a quitté le bâtiment le

@Piskvor, en fait, si vous utilisez des noms finlandais, il existe un dilemme similaire à savoir s'il faut utiliser des caractères spéciaux (äöå) ou les remplacer par un & o (et si vous les utilisez, vous rencontrez probablement des problèmes de jeu de caractères). Mais oui, heureusement, je n'ai pas eu à utiliser le finnois dans le code depuis au moins 7 ans. :)
Jonik

27

J'ai du mal à trouver des références, mais je me souviens de trois histoires.

Un hacker Lisp défend des fonctions dénuées de sens comme "cdr" et "car" en les comparant à la programmation dans votre langue non native: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171. html

Quand Yukihiro Matsumoto ("Matz") a commencé à développer Ruby, il a utilisé des mots - clés anglais alors qu'il écrivait toute la documentation en japonais! . Il n'y avait pas de documentation en anglais pour Ruby pendant quelques années, et très peu d'Américains utilisant la langue. Mais maintenant, c'est une langue de classe mondiale, et le fait qu'elle soit née au Japon n'a qu'un intérêt historique. Si la langue avait utilisé des mots-clés en hiragana, elle aurait eu beaucoup plus de mal à gagner en popularité.

J'ai lu un essai une fois - peut-être que quelqu'un d'autre peut le trouver, Google n'est d'aucune aide aujourd'hui - qui suggérait que la traduction de mots-clés était malavisée parce que les mots ne sont pas réellement anglais - ce sont du jargon. Non seulement (pour utiliser les exemples ci-dessus) para et pour n'ont pas tout à fait la signification exacte que for has en anglais, pour les non-programmeurs, l'expression "for loop" est un jibberish. Même les Américains doivent apprendre un nouveau sens. Donc, traduire le sens superficiel des mots dans une autre langue, c'est plus faire un jeu de mots en plusieurs langues plutôt que d'être réellement utile.


25

Je n'ai vraiment pas trop réfléchi à la programmation en japonais auparavant, mais nous y voilà, en utilisant l'exemple de code de la question.

En utilisant uniquement les instructions de langue en japonais avec les variables en anglais:

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}

Les virgules à (;) je suppose .. = D
José Leal

1
En fait, je pensais que si vous pouviez coder en japonais, vous pourriez utiliser des trucs comme → 定 問 上 下 不 comme mots spéciaux, pourriez-vous imaginer un lisp en japonais? (定 rember (→ (a lat) (問 ((空? lat) (引用 ())) (又 ...
wallyqs

1
Si vous allez écrire en suffixe, vous pouvez aussi bien en faire un quatrième dialecte, ね? :-)
Ken

est-ce que cela va même compiler ?? : \
NoobEditor

13

Comme beaucoup de gens l'ont déjà souligné, dans la plupart des langages de programmation, il vous suffit d'apprendre quelques mots-clés, donc peu importe qu'ils soient en anglais (ou dans une langue autre que la vôtre, d'ailleurs). C'est juste un symbole que vous associez à une construction. Par exemple, dans VB, vous avez "THEN", qui dans de nombreux langages de style C serait "{" et cela ne fait pas une grande différence en termes de lisibilité (enfin, du moins c'est comme ça que je le vois, étant un non-anglais locuteur natif).

Mais là où les choses peuvent parfois devenir velues, et où le choix du langage (naturel) compte, c'est dans la dénomination des identifiants. Si les noms de variables, de fonctions, de classes, etc. n'ont pas de nom significatif pour vous en raison d'une barrière de langue, suivre même le code le plus simple peut être assez difficile.

Je me souviens que quelqu'un m'a donné une fois un court extrait d'ActionScript tiré d'un blog. Les noms étaient en allemand et comme je ne parle pas un mot de cette langue, les choses auraient pu s'appeler var_123, var_562 ou func_333 aussi (et il aurait probablement été plus facile pour moi de me souvenir des noms ou du moins d'avoir un chance de les épeler correctement sans copier-coller). Comme il s'agissait d'un court extrait autonome, j'ai utilisé un traducteur en ligne pour donner à ces variables et fonctions des noms significatifs dans ma langue maternelle (espagnol) et après cela, tout était clair. Le fait est que le code était en fait simple, mais je n'ai pu en comprendre le sens que sans trop d'effort supplémentaire (inutile) au moment où j'ai surmonté la barrière de la langue.

Depuis, je suis passé à l'anglais pour nommer les identifiants. Que cela vous plaise ou non, c'est le "koine" pour la programmation, l'ingénierie et généralement les trucs techniques. La plupart des API sont écrites en anglais, tout comme la plupart de la documentation (et probablement les meilleures ressources que vous pouvez trouver sont également en anglais). En passant, cela maintient votre code plus cohérent avec le code avec lequel vous êtes susceptible d'interagir, et je pense qu'il a tendance à être plus compact et succinct que d'autres langues comme l'espagnol (ce qui serait autrement mon choix naturel).

Bien sûr, si vous ne comprenez pas au moins un peu d'anglais, le problème reste le même, donc ce n'est pas une solution parfaite. Mais, étant donné un certain nombre de développeurs de nombreux pays différents, il y a de fortes chances que la langue commune pour eux de communiquer (par le biais de code et bien sûr d'autres moyens) soit l'anglais. Donc, choisir l'anglais est peut-être la meilleure option, même si ce ne serait pas la solution parfaite à ce problème.


Ouais. Un problème mineur avec ceci est quand le codeur ne sait pas comment écrire correctement les noms de vars anglais. Le pire que j'ai vu est "String employiNeim" hehe (nahh je plaisante) mais j'ai déjà vu des choses très proches de ça avant.
OscarRyz

Pour un anglophone non natif, vous maîtrisez étonnamment la langue. Félicitations, l'anglais est une bête très étrange, même pour nous, les locuteurs natifs.
Nicholas Flynt

10

Le langage de programmation définit des mots-clés et des noms de classe standard, et il est recommandé de donner des types, des variables et des fonctions définis par l'utilisateur également des noms anglais (en tant que locuteur non natif, je peux le dire ;-).

Alors oui, si tout va bien, vous pourrez lire le code.

Cependant, des langages comme Java et Perl autorisent le jeu Unicode complet pour les identificateurs, donc si quelqu'un écrit ses noms de classe en Kanji, vous aurez probablement un problème.

Mise à jour: Pour Perl, il existe un module de blague qui vous permet d'écrire Perl en latin. Mais c'est vraiment juste ça, une blague. Personne n'utilise de telles choses au sérieux.

Deuxième mise à jour: L'idée de langages de programmation localisés n'est pas si ridicule. La langue des macros d'Excel est localisée, mais heureusement, elle est stockée dans une langue canonique (anglais) dans le fichier, de sorte que la localisation n'est qu'une couche au-dessus de la chose normale. De telles choses n'ont de sens que pour les petits "programmes", pour les "vrais" programmes, cela devient difficile à maintenir.


7

En fait, il existe des langages de programmation non basés sur l' anglais (Wikipedia)

Je suis norvégien mais j'ai toujours utilisé l'anglais pour tous les codes sauf la sortie (en ignorant certains codes idiots de l'école). En fait, j'écris généralement tout en anglais, puis je le traduis dans ma langue maternelle, en utilisant gettext (ou quelque chose).


6

Je suis britannique et un problème que nous rencontrons souvent est le conflit orthographique américain / britannique. Cela se produit souvent avec des termes liés à la programmation tels que Initialise () ou Initialize (), Analyze () ou Analyze (), etc.

Puisque le framework (dans notre cas C #) a été conçu par des Américains, nous avons constaté qu'il était préférable d'être cohérent et d'utiliser des orthographes américaines. Nous adoptons même la couleur.

Nous avons un mélange de nationalités dans nos équipes de développement et la plupart des non-britanniques ont naturellement tendance à utiliser l'orthographe américaine.


4

AppleScript était autrefois disponible dans les dialectes français et japonais. Je ne sais pas pourquoi il a été retiré.


Probablement parce qu'il était difficile de partager du code à l'ère d'Internet ... VBA a également été traduit. Mauvaise idée.
PhiLho

4

En prenant cela au niveau suivant, qu'en est-il de pouvoir substituer des symboles?

Après avoir vu des langages comme Brainf ** k et Whitespace, j'ai pensé à créer un langage comme celui-ci: ce serait identique à C sauf que vous utilisez des accolades fermantes pour ouvrir, des accolades ouvrantes pour fermer, permutez les significations de + et -, * et / ,; et:,> et <, etc.

Le concept n'est rien de plus qu'un compilateur C modifié gimmicky. Mais, comme pour penser les mots-clés différemment, cela vous met au défi de repenser certaines hypothèses de base si vous n'avez jamais pensé à de telles choses auparavant. Ex:

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

2
hey, j'aime ce smiley.
aib

4

Je fais partie d'une équipe française développant un système logiciel en C #. Malgré le fait que les mots-clés du langage de programmation soient ostensiblement anglais, j'imagine que vous auriez de grandes difficultés à lire le code car tous les noms de fonctions, variables, commentaires de code, tables et colonnes de base de données, spécifications techniques, protocoles, etc. Français, y compris ces jolis caractères accentués ç, é, è, ù, etc. Je ne suis même pas certain que le système fonctionnerait même ailleurs en raison de bogues de localisation, comme le fait de se fier à la virgule comme séparateur décimal par défaut.

Sinon, WinDev est une plateforme de programmation populaire en France, et son langage de programmation WLangage a des mots-clés en français ou en anglais, voir et exemple ici: lien texte


resharper attrapera toute merde spécifique à la locale :) utilisez le test d'un mois pour nettoyer votre base de code.
v.oddou le

4

La seule langue que j'ai vu localisée est Excel avec ses macros. Si vous essayez de additionner une colonne à l'aide d'une version italienne d'Office, vous devez écrire SOMMA(A1:A10)et non SUM. C'est une honte.

Au fait, juste parce que c'est amusant, voici à quoi devrait ressembler votre code avec des mots-clés italiens:

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

3

J'ai vu VBA traduit en commandes de type espagnol. c'est l'une des choses les plus laides jamais vues. j'aurais honte d'avoir quelque chose comme ça sur mon ordinateur.

PD: je pense que l'espagnol est une langue beaucoup plus agréable que l'anglais; mais traduire est MAUVAIS


Je ne sais pas si c'est toujours le cas avec les nouvelles versions de ms-office, mais les plus anciennes ne pouvaient pas exécuter de scripts écrits pour une localisation différente.
EricSchaefer

1
La seule façon dont l'anglais est "meilleur" que l'espagnol est que l'anglais a un vocabulaire plus large, donc c'est un peu plus court à écrire. Je détesterais apprendre l'anglais comme deuxième langue; L'espagnol est beaucoup plus logique!
Chip Uni

L'espagnol (comme la plupart des langues) a un vocabulaire beaucoup plus large que l'anglais; mais l'anglais permet d'inventer facilement de nouveaux mots et d'être toujours compris. Cela le rend très succinct et facile à utiliser sur les problèmes techniques. En outre, l'anglais est beaucoup plus impératif et favorise les phrases simples (le cas échéant, pour éviter toute ambiguïté), peut-être que cela le rend plus «naturel» pour la programmation procédurale. Notez également que je ne dirais jamais que l'anglais est «meilleur» que toute autre langue; mais BASIC est basé en anglais, le traduire entraîne un désordre illisible.
Javier

"L'espagnol (comme la plupart des langues) a un vocabulaire beaucoup plus large que l'anglais": faux. L'anglais est bien connu pour avoir plus de mots que toute autre langue, environ 250000 contre 100000 pour l'espagnol
Luigi Plinge

L'une des leçons ici est purement commerciale; vous ne pouvez pas soutenir les localisations dans des langues où la communauté de programmation VBE est probablement inférieure à 1 000 personnes dans le monde. Microsoft l'a fait dans les années 1990, puis s'est rapidement rétracté. Certaines des leçons se retrouvent dans des communautés beaucoup plus grandes, comme l'espagnol. D'une part, vous ne pouvez pas partager votre script avec des personnes qui n'ont pas la même version localisée de la langue.
tripleee

3

Eh bien, comme d'autres l'ont souligné, les mots-clés et les appels système resteraient probablement en anglais.

Cependant, comprendre les mots-clés du langage n'est qu'une petite partie de la compréhension du code. Les noms de variables, les noms de fonctions et les commentaires risquent tous d'être dans la langue maternelle de l'auteur.

Edit : Je viens de rappeler ma jeunesse où je suis allé dans les tableaux de cartographie de mon TRS-80 intégré BASIC pour passer les mots-clés en français. Je pourrais changer tous les mots-clés, mais je ne pourrais en agrandir aucun. Conçu pour des programmes amusants.


En effet. "Nous utiliserons simplement [insérer la langue locale] pour tout, des noms de variables aux commentaires - ce n'est qu'une toute petite application, qui la changerait?" Quelques années plus tard, ailleurs: «Oui, il y a des commentaires Si je ne savais ce que « // Meg tudom Enni az üveget, nem nekem » es moyens ... » (lang changé pour l' accent)
Piskvor a quitté le bâtiment

Je me souviens qu'à l'université, quelqu'un était entré sous DOS et avait changé certaines commandes et messages pour les rendre obscènes, et cela fonctionnait toujours
JoelFan

3

Ne vous moquez pas de ça. Il y a quelques années, Microsoft avait annoncé G # (allemand Sharp) - C # avec des mots clés allemands et une API. Bien sûr, c'était une blague du poisson d'avril, mais tout le site à ce sujet avait l'air si réel et professionnel (et était sur microsoft.com). Effrayant.

Au travail, nous utilisons deux systèmes de bus de terrain, tous deux développés dans des pays germanophones, qui ont un mélange effrayant d'allemand et d'anglais pour les identifiants, y compris de charmants faux amis. C'est le bordel.

Non, les mots-clés et identifiants anglais conviennent. Bien que certains pourraient se demander si cela devrait être Couleur ou Couleur :)


3

Dans plusieurs projets VBA sur lesquels j'ai travaillé (oui, très tôt dans ma carrière), nous avons dû détecter la version d'Office qui était installée sur la machine de l'utilisateur et changer les formules utilisées dans les speradsheets en conséquence.

Comme je programme en portugais, "SUM" devrait être traduit en "SOMA" et ainsi de suite. Je ne peux tout simplement pas imaginer le travail nécessaire pour que cela se produise dans plusieurs langues. Quelqu'un d'autre a-t-il souffert de ce problème?


3

Certaines langues ont des mots-clés traduits. Des formules Excel, par exemple. Si vous écrivez des calculs dans une feuille de calcul, ce sera dans votre langue.

Heureusement, ce n'est pas une pratique générale, et même les non anglophones comme moi remercient Dieu qu'il existe une langue standard pour les mots-clés:

  • il est plus facile de partager votre travail.
  • cela empêche la documentation de devenir un plus grand cauchemar qu'elle est déjà.
  • Les mots et les phrases anglais sont généralement courts et syntaxiquement pragmatiques. En littérature, les langues latines sont beaucoup plus belles, mais pour les choses techniques, l'anglais est génial.

Et où s'arrêter? Pouvez-vous imaginer un C en grec ancien?

Les mots clés doivent rester dans une seule langue, et bien, cela a commencé par l'anglais, laissez-le rester ainsi. Cela aurait pu être le pire (langue asiatique?). Nous devons donc rédiger des méthodes et des commentaires en anglais. Ok, plus de travail pour nous, mais au moins la base de code internationale reste congruente.

Il existe cependant un cas où l'utilisation de noms de méthodes et de commentaires en langue maternelle peut être une bonne pratique: dans un pays du tiers monde. Je pars au Sénégal dans quelques mois pour gérer un projet Django. Le Sénégal a un taux d'analphabétisation énorme, et c'est pourquoi il est déjà formidable qu'ils consacrent de l'énergie à améliorer leurs connaissances en programmation. Le français est la langue maternelle ici, il serait donc inefficace de les forcer à apprendre l'informatique ET une nouvelle langue en même temps.

BTW, ce serait votre code avec des mots-clés français:

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

Non pas que la traduction des mots-clés n'ait rien à voir avec la traduction des chaînes. Bien sûr, nous avons traduit «salut, là» dans notre langue. Les codeurs européens ont même tendance à utiliser I18N beaucoup plus que les américains pour que leur service puisse toucher un public plus large.


2

De manière générale, la plupart des programmeurs s'adaptent à la forme anglaise. J'ai appris à programmer quand j'avais 7 ans et je ne parlais que l'hébreu (qui est de droite à gauche) et sans anglais, ce qui en a fait une expérience assez fascinante.

Le problème que vous rencontrez généralement concerne la documentation, les variables et les noms de fonctions. J'ai vu ma part de variables dans d'autres langues en utilisant l'alphabet anglais.

La seule langue que je connais et qui a été traduite était le bon vieux logo (toujours étonnant à ce jour).


Shalom Uri, Il existe également le langage de programmation hébreu (HPL) sur Sourceforge. Comme LOGO, il s'adresse aux jeunes utilisateurs d'ordinateurs.
TonJ

2

Quand j'étais enfant, nous sommes allés en France, et dans un musée où nous sommes allés, je me souviens avoir trouvé un écran qui vous montrait comment écrire des programmes informatiques. Le langage était une sorte de variante BASIC et je m'en souviens distinctement en utilisant POUR au lieu de FOR, et ainsi de suite. J'avais 7 ans et je venais tout juste d'apprendre le BASIC, et il me semblait tout à fait naturel que les Français aient leur propre dialecte comme celui-ci !!

Je suppose que c'est peut-être LSE que j'ai vu?


2

Le langage de script de Filemaker est localisé. Les scripts (et les données!) Sont stockés sous une forme terrible "sorta canonique".

Donc, si vous écrivez un script dans la version américaine, puis ouvrez-le dans la version française, tous les mots-clés et noms de fonctions intégrés seront en français. Mais pourquoi ne fonctionne-t-il pas?! Ah! La version française utilise "," comme point décimal, et donc pour éviter toute ambiguïté utilise ";" pour séparer les arguments de fonction - où la version américaine utilise "." et "," respectivement. Cette conversion, vous devez la faire vous-même.

Vous travaillez donc avec une interface d'édition de script incroyablement mauvaise (vous ne pouvez pas écrire de scripts sous forme de fichiers texte) pour corriger toutes ces choses. Ça court! Génial! Les résultats sont tous faux! Oh non! Ah! La date du 7 janvier 2004 que vous avez entrée dans la version américaine est interprétée comme du 1 juillet 2004 - apparemment, les dates ne sont pas seulement affichées mais stockées dans l'ordre dépendant des paramètres régionaux. Je plaisante ? Non.

[Remarque: Filemaker 8 et 9 peuvent être sains d'esprit - je n'ai jamais travaillé qu'avec 3 - 7.]


Aie! On dirait que vous devriez poster ceci sur thedailywtf.com
André

2

Votre question est intéressante en ce qui concerne Perl car sa syntaxe est conçue pour suivre le langage naturel (anglais). Je me demande si cela rend la tâche plus difficile pour les non anglophones ...

Bien sûr, Perl et Perlers refusent de jouer selon les règles conventionnelles. Le savant fou Damian Conway a écrit le module Lingua :: Romana :: Perligata qui utilise la magie noire des filtres sources pour vous permettre d'écrire Perl en latin!


Je ne pense pas. La sonde est que même si vous connaissez l'anglais, vous ne pouvez pas dire while (cond) jump_to: label ... à Perl. Je veux dire, comme un goto ou quelque chose comme ça.
OscarRyz

la plupart des expressions idiomatiques comme «open () ou die ()» de Perl sont assez naturelles pour moi en tant que locuteur allemand. Je suppose que l'anglais et l'allemand sont assez similaires
bjelli

2

Ici en Australie, nous devons encore épeler la couleur comme la couleur . Cependant, je trouve cela ennuyeux quand d'autres développeurs (australiens), travaillant sur un projet australien, décident que les noms de variables internes doivent être épelés à l'américaine.


1

Il serait inutile, à mon humble avis, d'i18n une syntaxe de langage . Cela tuerait tout type de portabilité.

La seule exception concerne les langues éducatives, telles que LOGO. Ils ont été conçus pour faciliter l'apprentissage, donc la portabilité n'est pas un problème.


1
Lorsque vous avez un public plus large, comme des personnes qui écrivent des formules dans Excel ou qui créent de petits effets sur leur présentation, vous devez envisager d'implémenter i18n pour les mots "réservés" ...
rshimoda

1

Je lis beaucoup de code, mais le problème est toujours au niveau des noms de variables / méthodes et des commentaires, s'ils commentent leur code sur leur propre langue, en utilisant des caractères spéciaux de langue comme le japonais ou le cyrillique, nous avons des problèmes! mais les mots-clés je pense qu'ils resteront en anglais tels quels.


1

en italien

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

Pour confirmer les inquiétudes de certaines affiches précédentes, j'ai vu un code Fortran avec une macro include pour traduire tous les mots-clés de l'anglais vers le français. Permettez-moi de ne pas continuer sur ce point.

J'ai également dû travailler avec un code contenant simultanément des identifiants en italien, allemand, anglais et français, non seulement parce qu'il a été développé dans de nombreux endroits différents, mais aussi parce que le développeur principal a pensé que c'était amusant et l'a aidé à ne pas dupliquer les noms d'identifiants ( bien sûr, avec une routine de 2000 lignes ...)


0

Je pense que WordBasic a été localisé. WordBasic a été utilisé pour écrire des macros dans Word avant l'utilisation de VBA.

Si je me souviens bien, seul WordBasic écrit dans la version anglaise s'exécuterait sur toutes les versions localisées. Si vous écrivez une version néerlandaise, vous ne pouvez l'exécuter que sur un mot néerlandais.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.