Skip to content

Commit 5ed97bc

Browse files
string#correct-comparisons
1 parent b12d778 commit 5ed97bc

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

1-js/05-data-types/03-string/article.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ alert( str );
517517
// ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜ
518518
```
519519
520-
Jak widać, najpierw pojawiają się wielkie litery, potem kilka znaków specjalnych, potem małe litery i Ö prawie na samym końcu.
520+
Jak widać, najpierw pojawiają się wielkie litery, potem kilka znaków specjalnych, potem małe litery i `Ö` prawie na samym końcu.
521521
522522
Teraz jest oczywiste, dlaczego `a > Z`.
523523
@@ -526,29 +526,27 @@ Znaki są porównywane według ich kodów numerycznych. Większy kod = większy
526526
- Wszystkie małe litery występują po wielkich literach, ponieważ ich kody są większe.
527527
- Niektóre litery, takie jak `Ö`, są całkowicie poza głównym alfabetem. Ta litera ma większy kod niż jakakolwiek litera od `a` do `z`.
528528
529-
### Correct comparisons
529+
### Prawidłowe porównania
530530
531-
The "right" algorithm to do string comparisons is more complex than it may seem, because alphabets are different for different languages.
531+
„Właściwy” algorytm porównywania łańcuchów jest bardziej skomplikowany, niż mogłoby się wydawać, ponieważ różne języki używają różnych alfabetów.
532532
533-
So, the browser needs to know the language to compare.
533+
Przeglądarka musi więc wiedzieć, jakiego języka użyć do porównania.
534534
535-
Luckily, all modern browsers (IE10- requires the additional library [Intl.JS](https://github.com/andyearnshaw/Intl.js/)) support the internationalization standard [ECMA 402](http://www.ecma-international.org/ecma-402/1.0/ECMA-402.pdf).
535+
Na szczęście wszystkie nowoczesne przeglądarki (IE10- wymaga dodatkowej biblioteki [Intl.JS](https://github.com/andyearnshaw/Intl.js/)) obsługują standard internacjonalizacji [ECMA 402](http://www.ecma-international.org/ecma-402/1.0/ECMA-402.pdf), który zapewnia poprawne porównywanie ciągów w różnych językach z uwzględnieniem ich reguł.
536536
537-
It provides a special method to compare strings in different languages, following their rules.
537+
Wywołanie [str.localeCompare(str2)](mdn:js/String/localeCompare) zwraca liczbę wskazującą, który ciąg jest większy zgodnie z zasadami języka:
538538
539-
The call [str.localeCompare(str2)](mdn:js/String/localeCompare) returns an integer indicating whether `str` is less, equal or greater than `str2` according to the language rules:
539+
- Zwraca liczbę ujemną, jeśli `str` jest mniejszy niż `str2`.
540+
- Zwraca liczbę dodatnią, jeśli `str` jest większy niż `str2`.
541+
- Zwraca `0` jeśli są równoważne.
540542
541-
- Returns a negative number if `str` is less than `str2`.
542-
- Returns a positive number if `str` is greater than `str2`.
543-
- Returns `0` if they are equivalent.
544-
545-
For instance:
543+
Na przykład:
546544
547545
```js run
548546
alert( 'Österreich'.localeCompare('Zealand') ); // -1
549547
```
550548
551-
This method actually has two additional arguments specified in [the documentation](mdn:js/String/localeCompare), which allows it to specify the language (by default taken from the environment, letter order depends on the language) and setup additional rules like case sensitivity or should `"a"` and `""` be treated as the same etc.
549+
Ta metoda ma właściwie dwa dodatkowe argumenty określone w [dokumentacji](mdn:js/String/localeCompare). Pierwszy pozwala na określenie języka (domyślnie jest on pobierany ze środowiska) - od tego zależy kolejność liter. Drugi, to dodatkowe reguły, takie jak rozróżnianie wielkości liter, czy należy przestrzegać różnic między `"a"` i `"á"` itp.
552550
553551
## Internals, Unicode
554552

0 commit comments

Comments
 (0)