and constructs language-aware lists in R. It extends the functionality of functions like knitr::combine_words()
and glue::glue_collapse()
to make and-separated and or-separated lists that automatically conform to the userâs R language settings.
You can install the released version of and from CRAN with:
or the development version of and from GitHub with:
# install.packages("pak")
pak::pkg_install("rossellhayes/and")
Usage
and()
creates âandâ-separated lists from vectors.
names <- c("John", "Paul", "George", "Ringo")
and(names)
#> [1] "John, Paul, George, and Ringo"
But the Oxford comma is less common in other varieties of English, what happens if I change my R language to British English?
Sys.setenv(LANGUAGE = "en_GB")
and(names)
#> [1] "John, Paul, George and Ringo"
What about other languages?
Sys.setenv(LANGUAGE = "es")
and(names)
#> [1] "John, Paul, George y Ringo"
Sys.setenv(LANGUAGE = "eu")
and(names)
#> [1] "John, Paul, George eta Ringo"
Sys.setenv(LANGUAGE = "ko")
and(names)
#> [1] "John, Paul, George ë° Ringo"
Handling the nuances
Creating a list is not as simple as putting a different word between the last two items. For example, in Spanish, the word for and changes if the next word starts with an â¨iâ© or â¨yâ©:
princess_bride <- c("Vizzini", "Fezzik", "Inigo Montoya")
Sys.setenv(LANGUAGE = "es")
and(princess_bride)
#> [1] "Vizzini, Fezzik e Inigo Montoya"
or-separated lists
Everything and()
can do or()
can do better. Just use or()
to create or-separated lists with all the same contextual awareness.
outcomes <- c("win", "lose", "draw")
Sys.setenv(LANGUAGE = "en_US")
or(outcomes)
#> [1] "win, lose, or draw"
Sys.setenv(LANGUAGE = "ja")
or(outcomes)
#> [1] "winãloseãã¾ãã¯draw"
Hardcoding language
Donât want the language of you string to depend on the userâs environment variables? You can explicitly set the language using the language
argument.
and(names, language = "en_US")
#> [1] "John, Paul, George, and Ringo"
and(names, language = "en_GB")
#> [1] "John, Paul, George and Ringo"
and(names, language = "es")
#> [1] "John, Paul, George y Ringo"
and(names, language = "fr")
#> [1] "John, Paul, George et Ringo"
Languages Fully supported languages Afrikaans af
1, 2, 3 en 4 1, 2, 3 of 4 Akan ak
1, 2, 3, ne 4 1, 2, 3, anaa 4 Albanian sq
1, 2, 3 dhe 4 1, 2, 3 ose 4 Amharic am
1ᣠ2ᣠ3 á¥á 4 1ᣠ2ᣠ3 ááá 4 Anii blo
1, 2, 3 na 4 1, 2, 3 koo 4 Arabic ar
â1 Ù2 Ù3 Ù4â â1 Ø£Ù 2 Ø£Ù 3 Ø£Ù 4â Armenian hy
1, 2, 3 Ö 4 1, 2, 3 Õ¯Õ¡Õ´ 4 Assamese as
1, 2, 3 à¦à§°à§ 4 1, 2, 3 বা 4 Asturian ast
1, 2, 3 y 4 1, 2, 3 o 4 Azerbaijani az
1, 2, 3 vÉ 4 1, 2, 3, yaxud 4 Bangla bn
1, 2, 3 à¦à¦¬à¦ 4 1, 2, 3, বা 4 Basque eu
1, 2, 3 eta 4 1, 2, 3 edo 4 Belarusian be
1, 2, 3 Ñ 4 1, 2, 3 ÑÑ 4 Bosnian bs
1, 2, 3 i 4 1, 2, 3 ili 4 Breton br
1, 2, 3 ha 4 1, 2, 3 pe 4 Bulgarian bg
1, 2, 3 и 4 1, 2, 3 или 4 Burmese my
1 - 2 - 3áá¾áá·áº 4 1 - 2 - 3 ááá¯á·ááá¯áẠ4 Cantonese yue
1ã2ã3å4 1ã2ã3 æ 4 Catalan ca
1, 2, 3 i 4 1, 2, 3 o 4 Cebuano ceb
1, 2, 3, ug 4 1, 2, 3, o 4 Cherokee chr
1, 2, 3, á á´ 4 1, 2, 3, á á´á±á© 4 Chinese zh
1ã2ã3å4 1ã2ã3æ4 Chuvash cv
1, 2, 3 ÑаÑа 4 1, 2, 3 е 4 Croatian hr
1, 2, 3 i 4 1, 2, 3 ili 4 Czech cs
1, 2, 3 a 4 1, 2, 3 nebo 4 Danish da
1, 2, 3 og 4 1, 2, 3 eller 4 Dutch nl
1, 2, 3 en 4 1, 2, 3 of 4 English (with Oxford comma) en
1, 2, 3, and 4 1, 2, 3, or 4 English (without Oxford comma) en_GB
et al.* 1, 2, 3 and 4 1, 2, 3 or 4 Estonian et
1, 2, 3 ja 4 1, 2, 3 või 4 Faroese fo
1, 2, 3, og 4 1, 2, 3, ella 4 Filipino fil
1, 2, 3, at 4 1, 2, 3, o 4 Finnish fi
1, 2, 3 ja 4 1, 2, 3 tai 4 French fr
1, 2, 3 et 4 1, 2, 3 ou 4 Galician gl
1, 2, 3 e 4 1, 2, 3 ou 4 Georgian ka
1, 2, 3 áá 4 1, 2, 3 áá 4 German de
1, 2, 3 und 4 1, 2, 3 oder 4 Greek el
1, 2, 3 και 4 1, 2, 3 ή 4 Gujarati gu
1, 2, 3 àª
નૠ4 1, 2, 3, àª
થવા 4 Hausa ha
1, 2, 3, da 4 1, 2, 3 ko 4 Hebrew he
â1, 2, 3 ×4â â1, 2, 3 ×× 4â Hindi hi
1, 2, 3, à¤à¤° 4 1, 2, 3 या 4 Hungarian hu
1, 2, 3 és 4 1, 2, 3 vagy 4 Icelandic is
1, 2, 3 og 4 1, 2, 3 eða 4 Igbo ig
1, 2, 3, na 4 1, 2, 3, ma Ỡbụ 4 Indonesian id
1, 2, 3, dan 4 1, 2, 3, atau 4 Interlingua ia
1, 2, 3 e 4 1, 2, 3 o 4 Irish ga
1, 2, 3 agus 4 1, 2, 3 nó 4 Italian it
1, 2, 3 e 4 1, 2, 3 o 4 Japanese ja
1ã2ã3ã4 1ã2ã3ãã¾ãã¯4 Javanese jv
1, 2, 3, lan 4 1, 2, 3, utowo 4 Kabuverdianu kea
1, 2, 3 i 4 1, 2, 3 o 4 Kaingang kgp
1, 2, 3 kar 4 1, 2, 3 ketũmỹr 4 Kangri xnr
1, 2, 3, à¤à¤¨à¥ 4 1, 2, 3 या 4 Kannada kn
1, 2, 3, ಮತà³à²¤à³ 4 1, 2, 3, à²
ಥವಾ 4 Kazakh kk
1, 2, 3, 4 1, 2, 3, не болмаÑа 4 Khmer km
1, 2, 3 áá·á 4 1, 2, 3 ᬠ4 Konkani kok
1, 2, 3, 4 1, 2, 3, वा 4 Korean ko
1, 2, 3 ë° 4 1, 2, 3 ëë 4 Kurdish ku
1, 2, 3 û 4 1, 2, 3 an 4 Kuvi kxv
1, 2, 3, aá¸e 4 1, 2, 3, aadtẽ 4 Kyrgyz ky
1, 2, 3 жана 4 1, 2, 3 же 4 Ladin lld
1, 2, 3 y 4 1, 2, 3 o 4 Lao lo
1, 2, 3, 4 1, 2, 3 ຫຼື 4 Latvian lv
1, 2, 3 un 4 1, 2, 3 vai 4 Lithuanian lt
1, 2, 3 ir 4 1, 2, 3 ar 4 Lower Sorbian dsb
1, 2, 3 a 4 1, 2, 3 abo 4 Macedonian mk
1, 2, 3 и 4 1, 2, 3 или 4 Malay ms
1, 2, 3 dan 4 1, 2, 3, atau 4 Malayalam ml
1, 2, 3, 4 à´à´¨àµà´¨à´¿à´µ 1, 2, 3, à´
à´²àµà´²àµà´àµà´à´¿àµ½ 4 Marathi mr
1, 2, 3 à¤à¤£à¤¿ 4 1, 2, 3, à¤à¤¿à¤à¤µà¤¾ 4 Mongolian mn
1, 2, 3, 4 1, 2, 3, 4 зÑÑгийн Ð°Ð»Ñ Ð½Ñг MÄori mi
1, 2, 3, 4 1, 2, 3, 4 rÄnei Nepali ne
1,2, 3 र 4 1, 2, 3, वा 4 Nheengatu yrl
1, 2, 3 asuà 4 1, 2, 3 u 4 Nigerian Pidgin pcm
1, 2, 3, an 4 1, 2, 3 á» 4 Norwegian no
1, 2, 3 og 4 1, 2, 3 eller 4 Norwegian Bokmål nb
1, 2, 3 og 4 1, 2, 3 eller 4 Norwegian Nynorsk nn
1, 2, 3 og 4 1, 2, 3 eller 4 Odia or
1, 2, 3, ଠ4 1, 2, 3 à¬à¬¿à¬®àବା 4 Persian fa
â1Øâ 2Øâ 3Ø Ù 4â â1Øâ 2Øâ 3Ø ÛØ§ 4â Polish pl
1, 2, 3 i 4 1, 2, 3 lub 4 Portuguese pt
1, 2, 3 e 4 1, 2, 3 ou 4 Punjabi pa
1, 2, 3 à¨
ਤ੠4 1, 2, 3 à¨à¨¾à¨ 4 Quechua qu
1, 2, 3, 4 1, 2, 3, utaq 4 Romanian ro
1, 2, 3 Èi 4 1, 2, 3 sau 4 Romansh rm
1, 2, 3 e 4 1, 2, 3 u 4 Russian ru
1, 2, 3 и 4 1, 2, 3 или 4 Sardinian sc
1, 2, 3 e 4 1, 2, 3 o 4 Scottish Gaelic gd
1, 2, 3 agus 4 1, 2, 3 no 4 Serbian sr
1, 2, 3 и 4 1, 2, 3 или 4 Sichuan Yi ii
1ã2ã3êê4 1ã2ã3ê
4 Sindhi sd
â1Ø 2Ø 3Ø Û½ 4â â1, 2, 3, ÙØ§ 4â Sinhala si
1, 2, 3, à·à· 4 1, 2, 3, à·à· 4 Slovak sk
1, 2, 3 a 4 1, 2, 3 alebo 4 Slovenian sl
1, 2, 3 in 4 1, 2, 3 ali 4 Somali so
1, 2, 3 iyo 4 1, 2, 3 ama 4 Spanish es
1, 2, 3 y 4 1, 2, 3 o 4 Swahili sw
1, 2, 3 na 4 1, 2, 3 au 4 Swampy Cree csw
1, 2, 3, 4 1, 2, 3, ááá³ 4 Swedish sv
1, 2, 3 och 4 1, 2, 3 eller 4 Syriac syr
â1 Ü2 Ü3 Ü4â â1 ÜÜ 2 ÜÜ 3 ÜÜ 4â Tajik tg
1, 2, 3, 4 1, 2, 3, Ñ 4 Tamil ta
1, 2, 3 மறà¯à®±à¯à®®à¯ 4 1, 2, 3 à®
லà¯à®²à®¤à¯ 4 Tatar tt
1, 2, 3 Ò»Óм 4 1, 2, 3, Ñки 4 Telugu te
1, 2, 3 మరియౠ4 1, 2, 3 à°²à±à°¦à°¾ 4 Thai th
1 2 3 à¹à¸¥à¸°4 1, 2, 3 หรืภ4 Tigrinya ti
1ᣠ2ᣠ3á 4á 1ᣠ2ᣠ3 áá 4 Tongan to
1 mo 2 mo 3 mo 4 1, 2, 3, pÄ 4 Turkish tr
1, 2, 3 ve 4 1, 2, 3 veya 4 Turkmen tk
1, 2, 3 we 4 1, 2, 3 ýa-da 4 Ukrainian uk
1, 2, 3 Ñ 4 1, 2, 3 або 4 Upper Sorbian hsb
1, 2, 3 a 4 1, 2, 3 abo 4 Urdu ur
â1Ø 2Ø 3Ø Ø§ÙØ± 4â â1Ø 2Ø 3Ø ÛØ§ 4â Uzbek uz
1, 2, 3 va 4 1, 2, 3 yoki 4 Venetian vec
1, 2, 3 e 4 1, 2, 3, o 4 Vietnamese vi
1, 2, 3 và 4 1, 2, 3 hoặc 4 Welsh cy
1, 2, 3 a 4 1, 2, 3 neu 4 Yoruba yo
1, 2, 3, 4 1, 2, 3, tabi 4 Yoruba (Benin) yo_BJ
1, 2, 3, 4 1 pÉÌlú 2, 3, tabi 4
* The following English variants use no Oxford comma: AG
, AI
, AT
, AU
, BB
, BE
, BM
, BS
, BW
, BZ
, CA
, CC
, CH
, CK
, CM
, CX
, CY
, DE
, DG
, DK
, DM
, ER
, FI
, FJ
, FK
, FM
, GB
, GD
, GG
, GH
, GI
, GM
, GY
, HK
, ID
, IE
, IL
, IM
, IN
, IO
, JE
, JM
, KE
, KI
, KN
, KY
, LC
, LR
, LS
, MG
, MO
, MS
, MT
, MU
, MV
, MW
, MY
, NA
, NF
, NG
, NL
, NR
, NU
, NZ
, PG
, PK
, PN
, PW
, RW
, SB
, SC
, SD
, SE
, SG
, SH
, SI
, SL
, SS
, SX
, SZ
, TC
, TK
, TO
, TT
, TV
, TZ
, UG
, VC
, VG
, VU
, WS
, ZA
, ZM
, and ZW
.
Partially supported languages generally localize and()
but not or()
.
brx
1, 2, 3, à¤à¤°à¥ 4 Chakma ccp
1, 2, 3 ðð³ð 4 Colognian ksh
1, 2, 3 un 4 Dogri doi
1, 2, 3, तॠ4 Dzongkha dz
1 à½à½à¼ 2 à½à½à¼ 3 à½à½à¼ 4 Ewe ee
1, 2, 3, kple 4 Friulian fur
1, 2, 3 e 4 Interlingue ie
1, 2, 3, 4 Kashmiri ks
â1Ø 2Ø 3Ø ØªÙÛ 4â Luxembourgish lb
1, 2, 3 a(n) 4 Maithili mai
1, 2, 3, à¤à¤° 4 Maltese mt
1, 2, 3, u 4 Manipuri mni
1, 2, 3 à¦
মসà§à¦ 4 Ngomba jgo
1, ÅÌgÉ 2, ÅÌgÉ 3, ḿbÉn ÅÌgÉ 4 Northern Sami se
1, 2, 3 ja 4 Ossetic os
1, 2, 3 ÓÐ¼Ó 4 Pashto ps
â1Ø 2Ø 3Ø Ø§Ù 4â Sanskrit sa
1, 2, 3, तथा 4 Sundanese su
1, 2, 3, sareng 4 Swiss German gsw
1, 2, 3 und 4 Walser wae
1, 2, 3 und 4 Western Balochi bgn
â1Ø 2Ø 3Ø Ù 4â Western Frisian fy
1, 2, 3 en 4 Yakut sah
1, 2, 3 Ñонна 4 Yiddish yi
â1, 2, 3 ××× 4â Zulu zu
1, 2, 3, ne-4
Hex sticker image by Flavia Rossell Hayes.
Please note that and is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4