Difference between revisions of "Category:LSL String/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Prepared for translation by Samia Bechir)
 
(Première traduction en Français)
Line 2: Line 2:
{{LSL Header}}
{{LSL Header}}
<div style="float:right">__TOC__</div>
<div style="float:right">__TOC__</div>
A string is text data. The length of a string is only limited by available [[script memory]]. String values are enclosed in double quotes when defined in LSL text. Any character may be used in a string though some will need to be escaped.
Un String (chaine) est une donnée texte. La longueur du string est limitée uniquement par la [[script memory]] disponible.
En texte LSL, les données String sont comprises entre des guillemets (exemple : "chaine" )
N'importe quel caractère peut être utilisé dans un String, toutefois il faudra utiliser un code pour certains.


Strings can be concatenated using the '''+''' operator.
Les strings peuvent être assemblés en utilisant l'opérateur '''+'''


<div style="float:left">
<div style="float:left">
{|{{Prettytable}}
{|{{Prettytable}}
|+'''Escape codes'''
|+'''code de remplacement'''
|-{{Hl2}}
|-{{Hl2}}
!Substring
!Code
!Replaced with
!Résultat
|-
|-
|| \t || four spaces
|| \t || 4 espaces
|-
|-
|| \n || new line
|| \n || nouvelle ligne
|-
|-
|| \" || double quote
|| \" || guillemets
|-
|-
|| \\ || backslash
|| \\ || antislash
|}
|}
</div>
</div>
{|
{|
|
|
String examples:
Exemples de strings:
<pre>"Hello Avatar!"
<pre>"Hello Avatar!"
"Yes"
"Oui"
"No"
"Non"
"It's 10 o'clock."
"Il est 10 heures."
"I am 21 years old!"
"J'ai 21 ans!"
"Help " + "me"
"Au " + "secours"
EOF
EOF
//The following two strings have the same value.
//Les deux Strings suivants sont similaires :
"I scream,\nyou scream,\nwe all scream,\nfor ice-cream!"
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"I scream,
"Je veux,
you scream,
tu veux,
we all scream,
nous voulons tous,
for ice-cream!"
du Nutella!"
</pre>
</pre>
|}
|}


Note: Escape codes (listed above) are translated when the script is compiled, and not while it's running.
Note: les codes de remplacement (listés ci-dessus) sont traduits quand le script est compilé, et non pendant qu'il est exécuté.
The result: only strings that are inside your script when it is compiled will get, say, \n turned into a "new line" character.  Text you read in from a notecard, chat, http, etc, will not be checked for escape codes -- that same \n typed in a notecard doesn't automatically turn into a "new line" character in any case. You'll have to do that yourself, if you really really need it for some reason.
En conséquence, seuls les strings qui sont à l'intérieur du script lorsqu'il est compilé seront traduits (par exemple \n deviendra le caractère "à la ligne")
Le texte lu à partir d'une notecard, du chat, d'http etc... ne seront pas examinés pour y repérer les codes de remplacement. le même \n s'il est écrit dans une notecard ne donnera pas "à la ligne" de facon automatique. Il faudra le faire vous-même si vous en avez besoin.


Note: People who come to LSL from C and Java and such languages may find these LSL string escape rules confusing while new. LSL "\n" means llUnescapeURL("%0A"), same as C and Java, but "\t" means llUnescapeURL("%20%20%20%20") rather than llUnescapeURL("%09"), and "\r" means "r" rather than llUnescapeURL("%0D"), etc.
Note: Les utilisateurs de LSL qui connaissent le langage C ou le Java risquent d'être déroutés au début par les règles LSL concernant les codes de remplacement. En LSL, "\n" signifie llUnescapeURL("%0A"), comme en C et en Java, mais "\t" signifie llUnescapeURL("%20%20%20%20") et non llUnescapeURL("%09"), tout comme "\r" signifie "r" et non llUnescapeURL("%0D"), etc.


{{#vardefine:p_name_desc|variable name
{{#vardefine:p_name_desc|nom de variable
}}{{#vardefine:p_value_desc|string expression or constant
}}{{#vardefine:p_value_desc|expression string ou constante
}}{{#vardefine:p_value_t_desc|expression or constant
}}{{#vardefine:p_value_t_desc|expression ou constante
}}
}}
<div id="box">
<div id="box">
Line 54: Line 57:
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>string name;</pre>
<pre>string name;</pre>
Declares a variable of type string named '''name''', with the value {{HoverText|""|empty string}}
Déclare une variable de type string appelée '''name''', avec la valeur {{HoverText|""|empty string}}
{|
{|
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
Line 64: Line 67:
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>string name = value;</pre>
<pre>string name = value;</pre>
Declares a variable of type string named '''name''', with the value '''value'''.
Déclare une variable de type string appelée '''name''', avec comme valeur '''value'''.
{|
{|
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}}
Line 75: Line 78:
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>(string)value</pre>
<pre>(string)value</pre>
Converts '''value''' to a value of type string.
Convertit '''value''' en variable de type string.
{|
{|
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}}
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}}
Line 85: Line 88:
== [[LSL Operators|Operators]] ==  
== [[LSL Operators|Operators]] ==  
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
See [[LSL Operators|Operators]] for more information.
Voir [[LSL Operators|Operators]] pour en savoir plus.
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
=== Combine: {{LSL Param|value|value1}} + {{LSL Param|value|value2}} ===
=== Combinaison : {{LSL Param|value|value1}} + {{LSL Param|value|value2}} ===
<pre>(value1 + value2)</pre>
<pre>(value1 + value2)</pre>
Combines two strings into a single string without modifying the inputs. Appends '''value2''' to '''value1''' and returns the resulting string.
Assemble deux strings en un seul, sans modifier les contenus. Ajoute '''value2''' à '''value1''' et renvoie le string qui en résulte.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
Line 97: Line 100:
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">


=== Comparison: {{LSL Param|value|value1}} <nowiki>==</nowiki> {{LSL Param|value|value2}} ===
=== Comparaison : {{LSL Param|value|value1}} <nowiki>==</nowiki> {{LSL Param|value|value2}} ===
<pre>(value1 == value2)</pre>
<pre>(value1 == value2)</pre>
Compares two strings, returns {{HoverText|one|1}} if same length and same characters, else returns zero.
Compare deux strings, renvoie {{HoverText|one|1}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro.
This operator works exactly like <code>!strcmp('''value1''', '''value2''')</code> in C, thus technically differs from the counterintuitive behavior of the == operator in C and in Java.
Cet opérateur fonctionne exactement comme <code>!strcmp('''value1''', '''value2''')</code> en langage C, mais diffère techniquement du comportement peu intuitif de l'opérateur == en C et Java.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
Line 107: Line 110:
</div>
</div>
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;">
=== Comparison: {{LSL Param|value|value1}} != {{LSL Param|value|value2}} ===
=== Comparaison : {{LSL Param|value|value1}} != {{LSL Param|value|value2}} ===
<pre>(value1 != value2)</pre>
<pre>(value1 != value2)</pre>
Compares two strings, returns {{HoverText|zero|0}} if same length and same characters, otherwise non-zero.
Compare deux strings, renvoie {{HoverText|zero|0}} s'ils ont la même longueur et les mêmes caractères, sinon renvoie non-zero.
This operator works exactly like <code>strcmp('''value1''', '''value2''')</code> in C, thus technically differs from the counterintuitive behavior of the != operator in C and in Java.
Cet opérateur fonctionne exactement comme <code>strcmp('''value1''', '''value2''')</code> en C, mais diffère techniquement du comportement peu intuitif de l'opérateur != en C et en Java.
{|
{|
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}}
Line 120: Line 123:
<div id="box">
<div id="box">


== Examples ==
== Exemples ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
<pre>
<pre>
Line 130: Line 133:
</div></div>
</div></div>
<div id="box">
<div id="box">
== Useful Functions ==
== Fonctions utiles ==
<div style="padding: 0.5em;">
<div style="padding: 0.5em;">
=== String functions in the [[Library_Combined_Library|CombinedLibrary]] ===
=== Voir les fonctions strings dans [[Library_Combined_Library|CombinedLibrary]] ===
{|
{|
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|replace all instances of a string with another string in a target string.}}
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|remplace toutes les instances d'un string par un autre string dans un string cible.}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|Trim characters from the right end of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|Efface les caractères à partir de la droite du string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Trim characters from the left end of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|Efface les caractères à partir de la gauche du string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]|Trim characters from the both ends of a string}}
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]|Efface les caractères en partant des deux côtés du string}}
|}
|}
=== Examples ===
=== Exemples ===
{|
{|
{{LSL DefineRow||[[Examples|SplitLine]]|Insert 'new line' escape codes at certain positions of a string}}
{{LSL DefineRow||[[Examples|SplitLine]]|Insère le code de remplacement "à la ligne" à certains endroits d'un string}}
|}
|}
</div></div>
</div></div>

Revision as of 06:56, 2 December 2007

Un String (chaine) est une donnée texte. La longueur du string est limitée uniquement par la script memory disponible. En texte LSL, les données String sont comprises entre des guillemets (exemple : "chaine" ) N'importe quel caractère peut être utilisé dans un String, toutefois il faudra utiliser un code pour certains.

Les strings peuvent être assemblés en utilisant l'opérateur +

code de remplacement
Code Résultat
\t 4 espaces
\n nouvelle ligne
\" guillemets
\\ antislash

Exemples de strings:

"Hello Avatar!"
"Oui"
"Non"
"Il est 10 heures."
"J'ai 21 ans!"
"Au " + "secours"
EOF
//Les deux Strings suivants sont similaires :
"Je veux,\ntu veux,\nnous voulons tous,\ndu Nutella!"
"Je veux,
tu veux,
nous voulons tous,
du Nutella!"

Note: les codes de remplacement (listés ci-dessus) sont traduits quand le script est compilé, et non pendant qu'il est exécuté. En conséquence, seuls les strings qui sont à l'intérieur du script lorsqu'il est compilé seront traduits (par exemple \n deviendra le caractère "à la ligne") Le texte lu à partir d'une notecard, du chat, d'http etc... ne seront pas examinés pour y repérer les codes de remplacement. le même \n s'il est écrit dans une notecard ne donnera pas "à la ligne" de facon automatique. Il faudra le faire vous-même si vous en avez besoin.

Note: Les utilisateurs de LSL qui connaissent le langage C ou le Java risquent d'être déroutés au début par les règles LSL concernant les codes de remplacement. En LSL, "\n" signifie llUnescapeURL("%0A"), comme en C et en Java, mais "\t" signifie llUnescapeURL("%20%20%20%20") et non llUnescapeURL("%09"), tout comme "\r" signifie "r" et non llUnescapeURL("%0D"), etc.


Variable: string name;

string name;

Déclare une variable de type string appelée name, avec la valeur ""

• variable name nom de variable

Variable: string name = value;

string name = value;

Déclare une variable de type string appelée name, avec comme valeur value.

• variable name nom de variable
• expression value expression string ou constante

Typecast: (string)value

(string)value

Convertit value en variable de type string.

• expression value expression ou constante

Operators

Voir Operators pour en savoir plus.

Combinaison : value1 + value2

(value1 + value2)

Assemble deux strings en un seul, sans modifier les contenus. Ajoute value2 à value1 et renvoie le string qui en résulte.

• expression value1 expression string ou constante
• expression value2 expression string ou constante

Comparaison : value1 == value2

(value1 == value2)

Compare deux strings, renvoie one s'ils ont la même longueur et les mêmes caractères, sinon renvoie zéro. Cet opérateur fonctionne exactement comme !strcmp(value1, value2) en langage C, mais diffère techniquement du comportement peu intuitif de l'opérateur == en C et Java.

• expression value1 expression string ou constante
• expression value2 expression string ou constante

Comparaison : value1 != value2

(value1 != value2)

Compare deux strings, renvoie zero s'ils ont la même longueur et les mêmes caractères, sinon renvoie non-zero. Cet opérateur fonctionne exactement comme strcmp(value1, value2) en C, mais diffère techniquement du comportement peu intuitif de l'opérateur != en C et en Java.

• expression value1 expression string ou constante
• expression value2 expression string ou constante

Exemples

integer int = 48934;
string str = (string)int;
string str_2;
str_2 = str;

Fonctions utiles

Voir les fonctions strings dans CombinedLibrary

•  str_replace remplace toutes les instances d'un string par un autre string dans un string cible.
•  TrimRight Efface les caractères à partir de la droite du string
•  TrimLeft Efface les caractères à partir de la gauche du string
•  TrimBoth Efface les caractères en partant des deux côtés du string

Exemples

•  SplitLine Insère le code de remplacement "à la ligne" à certains endroits d'un string