π
<-

ZLANG, détection langue calculatrice pour programmes 83PCE

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

ZLANG, détection langue calculatrice pour programmes 83PCE

Unread postby critor » 16 May 2016, 12:01

Les applications TI-83 Premium CE et TI-84 Plus CE s'adaptent automatiquement à la langue réglée pour la calculatrice.

A notre connaissance, les programmes eux, qu'ils soient en langage Basic ou machine, n'ont jamais disposé d'une telle fonctionnalité. Ce que certains très rares programmes ont proposé c'est :
  • des versions différentes du programme selon la langue souhaitée par l'utilisateur
    (ce qui est lourd à maintenir et mettre à jour pour le développeur)
  • un menu interne au programme permettant de choisir la langue
    (faut-il encore suffisamment comprendre l'anglais pour y accéder)

6897Mais aujourd'hui, c'est fini ! Notre nouvel utilitaire ZLANG est capable de te renvoyer le code ISO-639-1 à deux caractères de la langue de la calculatrice, permettant ainsi à tes programmes d'agir en conséquence ! :bj:
L'intégralité des 7 langues gérées à ce jour par la calculatrice est supportée :
  • DE : allemand
  • EN : anglais
  • ES : espagnol
  • FR : français
  • NL : néerlandais
  • PT : portugais
  • SV : suédois
Voilà donc de quoi lancer une nouvelle génération de programmes révolutionnaires pour TI-83 Premium CE et TI-84 Plus CE ! :bj:

Dans le contexte de la mode du mode examen lancée par la France et dans laquelle les Pays-Bas se sont par la suite engouffrés, peut-être que d'autres de nos voisins européens vont suivre et donc générer un renouvellement massif du parc des calculatrices graphiques par les élèves.
Si tu programmes et en prime maîtrises les langues d'un ou plusieurs de nos voisins, voilà donc une occasion de promouvoir tes créations au-delà de nos frontières ! :bj:

Notons que la méthode de test choisie efface l'écran graphique. Il est donc conseillé de lancer le programme ZLANG en tout début de programme et d'en enregistrer le résultat.



Téléchargement : archives_voir.php?id=538696
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41956
Images: 15669
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: ZLANG, détection langue calculatrice pour programmes 83P

Unread postby Adriweb » 16 May 2016, 13:14

Concernant un équivalent en C/ASM pour CE, il s'avère qu'il suffit (sans surprise) de lire le bon octet en mémoire (localLanguage) (et il y a aussi le sublang, mais bref, c'est moins important), comme l'explique la doc du SDK 83+ qui s'applique toujours autant (cf. la page "Working with TI Language Localization Applications" de sdk83pguide.pdf)

Adresse de localLanguage:
  • Sur 83+/84+: 9B73h
  • Sur 84+CSE: 9E54h
  • Sur 83PCE/84+CE: 0D025CFh

Donc en C, sur CE, pour lire ça vous pouvez faire:
Code: Select all
const uint8_t langCode = *((uint8_t*)0x0D025CF); // localLanguage
...
if (langCode == 0x0C) {
    // if current lang is French
    ...
} else {
    // Default: fallback to English
    ...
}

Bien sûr, histoire de faire les choses proprement et d'éviter des tests de langue à chaque fois qu'on veut afficher un string, il suffit par exemple d'avoir deux arrays de strings distincts (une pour les strings français, et une autre pour les strings anglais par exemple), et d'initialiser, une seule fois (avec le test de langue), un pointeur pointant vers le bon tableau de strings qui sera à utiliser par la suite partout. Après, si vous avez juste 2-3 strings à gérer, c'est moins "grave"...

Pour les equates des langues, provenant de ti83plus.inc:
Code: Select all
LANG_NEUTRAL                       equ   00h
LANG_DANISH                        equ   06h
LANG_DUTCH                         equ   13h
LANG_ENGLISH                       equ   09h
LANG_FINNISH                       equ   0Bh
LANG_FRENCH                        equ   0Ch
LANG_GERMAN                        equ   07h
LANG_HUNGARIAN                     equ   0Eh
LANG_ITALIAN                       equ   10h
LANG_NORWEGIAN                     equ   14h
LANG_POLISH                        equ   15h
LANG_PORTUGUESE                    equ   16h
LANG_SPANISH                       equ   0Ah
LANG_SWEDISH                       equ   1Dh

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: ZLANG, détection langue calculatrice pour programmes 83P

Unread postby critor » 16 May 2016, 13:41

En fait, je ne vois pas vraiment l'intérêt d'une version asm.

Ce n'est pas comme si il y avait vraiment du temps à gagner ici.

Une version asm aura de plus le gros inconvénient de ne pas être utilisable sur TI-84 Plus C Silver Edition, d'être difficilement adaptable aux TI-82+/83+/84+ monochromes, et d'être impossible à adapter sur les TI-82 Advanced et TI-84 Plus T.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41956
Images: 15669
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: ZLANG, détection langue calculatrice pour programmes 83P

Unread postby Anonyme0 » 16 May 2016, 13:44

Je pense qu'il parlait plutôt de l'implémentation en vue d'une utilisation dans un programme en C ou en Asm.
Image
(17:46:41) Hayleia: ah, ce bon vieux Firefox, qu'est-ce qu'on est bien avec lui :D
User avatar
Anonyme0
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 14.6%
 
Posts: 273
Images: 17
Joined: 06 Sep 2015, 17:33
Location: Pas sur TI-Planet
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: ZLANG, détection langue calculatrice pour programmes 83P

Unread postby Adriweb » 16 May 2016, 13:57

Oui, globalement moi je me fous un peu, désormais (et tout simplement aussi parce qu'ils ont moins de RAM) des modèles < CE (mais comme j'avais les equates sous la main pour les z80, je les ai rappelé par générosité)

Et donc oui, je pensais au C, puisque c'est comme ça que se développent les choses les plus avancées maintenant, où l'on ne va certainement pas s'embêter à faire exécuter un programme Basic quand il suffit d'aller lire un octet :P
Ceux qui developpent en ASM connaissaient probablement déjà tout ça de toute façon, donc je suppose que je ne leur apprend rien.

Cela dit, je reste persuadé qu'il vaut mieux compiler des 8xp séparés par langue s'il y a un certain nombre de strings - l'utilisateur final n'en sera que ravi, il choisit tout autant la langue selon le fichier à transférer, et ça lui prendre moins de place une fois sur calculatrice. (Exemple: Cesium)
Là où ça a un intéret de combiner plusieurs langues, c'est quand il n'y a pas beaucoup de strings d'une part, et pas beaucoup de langues non plus d'autre part (2, déjà, c'est bien - et ça rentre bien dans le contexte 83PCE en France et 84+CE aux USA surtout)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
818 utilisateurs:
>758 invités
>50 membres
>10 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)