Skip to content

Commit eb56344

Browse files
authored
Merge pull request #662 from seleniumbase/language-locale-codes
Add the ability to set the browser's Language/Locale
2 parents ec3f23b + d1b5423 commit eb56344

File tree

13 files changed

+266
-56
lines changed

13 files changed

+266
-56
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ SeleniumBase provides additional ``pytest`` command-line options for tests:
319319
--extension-dir=DIR # (Load a Chrome Extension directory, comma-separated.)
320320
--headless # (Run tests headlessly. Default mode on Linux OS.)
321321
--headed # (Run tests with a GUI on Linux OS.)
322+
--locale=LOCALE_CODE # (Set the Language Locale Code for the web browser.)
322323
--start-page=URL # (The starting URL for the web browser when tests begin.)
323324
--archive-logs # (Archive old log files instead of deleting them.)
324325
--time-limit=SECONDS # (Safely fail any test that exceeds the limit limit.)

examples/raw_parameter_script.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
sb.headless = False
3131
sb.headed = False
3232
sb.start_page = None
33+
sb.locale_code = None
3334
sb.servername = "localhost"
3435
sb.port = 4444
3536
sb.data = None

help_docs/ReadMe.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<div><a href="https://seleniumbase.io/help_docs/mobile_testing/"><b>Mobile Device Testing</b></a></div>
1919
<div><a href="https://seleniumbase.io/help_docs/method_summary/"><b>Method Summary (API Ref)</b></a></div>
2020
<div><a href="https://seleniumbase.io/help_docs/translations/"><b>Language Translations</b></a></div>
21+
<div><a href="https://seleniumbase.io/help_docs/locale_codes/"><b>Language Locale Codes</b></a></div>
2122
<div><a href="https://seleniumbase.io/help_docs/js_package_manager/"><b>JS Package Manager</b></a></div>
2223
<div><a href="https://seleniumbase.io/examples/tour_examples/ReadMe/"><b>Tour Examples</b></a></div>
2324
<div><a href="https://seleniumbase.io/examples/presenter/ReadMe/"><b>Presentation Maker</b></a></div>
@@ -46,6 +47,7 @@
4647
<div><a href="https://seleniumbase.com/help_docs/mobile_testing"><b>Mobile Device Testing</b></a></div>
4748
<div><a href="https://seleniumbase.com/help_docs/method_summary"><b>Method Summary (API Ref)</b></a></div>
4849
<div><a href="https://seleniumbase.com/help_docs/translations"><b>Language Translations</b></a></div>
50+
<div><a href="https://seleniumbase.com/help_docs/locale_codes"><b>Language Locale Codes</b></a></div>
4951
<div><a href="https://seleniumbase.com/help_docs/js_package_manager"><b>JS Package Manager</b></a></div>
5052
<div><a href="https://seleniumbase.com/examples/tour_examples/"><b>Tour Examples</b></a></div>
5153
<div><a href="https://seleniumbase.com/examples/presenter/"><b>Presentation Maker</b></a></div>

help_docs/customizing_test_runs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ SeleniumBase provides additional ``pytest`` command-line options for tests:
113113
--extension-dir=DIR # (Load a Chrome Extension directory, comma-separated.)
114114
--headless # (Run tests headlessly. Default mode on Linux OS.)
115115
--headed # (Run tests with a GUI on Linux OS.)
116+
--locale=LOCALE_CODE # (Set the Language Locale Code for the web browser.)
116117
--start-page=URL # (The starting URL for the web browser when tests begin.)
117118
--archive-logs # (Archive old log files instead of deleting them.)
118119
--time-limit=SECONDS # (Safely fail any test that exceeds the limit limit.)

help_docs/locale_codes.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<h2><img src="https://seleniumbase.io/img/sb_icon.png" title="SeleniumBase" width="24" /> Language Locale Codes</h2>
2+
3+
You can specify a Language Locale Code to customize web pages on supported websites. With SeleniumBase you can change the web browser's Locale on the command line by adding:
4+
5+
```bash
6+
--locale=CODE # Example: --locale=ru
7+
```
8+
9+
<h3><img src="https://seleniumbase.io/img/sb_icon.png" title="SeleniumBase" width="24" /> List of Language Locale Codes:</h3>
10+
11+
<table>
12+
<thead><tr><th>Language</th><th>Code</th></tr></thead>
13+
<tbody class="list">
14+
<tr><td>Afrikaans</td><td><code translate="no" dir="ltr">af</code></td></tr>
15+
<tr><td>Amharic</td><td><code translate="no" dir="ltr">am</code></td></tr>
16+
<tr><td>Arabic</td><td><code translate="no" dir="ltr">ar</code></td></tr>
17+
<tr><td>Arabic (Egypt)</td><td><code translate="no" dir="ltr">ar_<wbr>eg</code></td></tr>
18+
<tr><td>Arabic (Saudi Arabia)</td><td><code translate="no" dir="ltr">ar_<wbr>sa</code></td></tr>
19+
<tr><td>Basque</td><td><code translate="no" dir="ltr">eu</code></td></tr>
20+
<tr><td>Belarusian</td><td><code translate="no" dir="ltr">be</code></td></tr>
21+
<tr><td>Bengali</td><td><code translate="no" dir="ltr">bn</code></td></tr>
22+
<tr><td>Bulgarian</td><td><code translate="no" dir="ltr">bg</code></td></tr>
23+
<tr><td>Catalan</td><td><code translate="no" dir="ltr">ca</code></td></tr>
24+
<tr><td>Chinese</td><td><code translate="no" dir="ltr">zh</code></td></tr>
25+
<tr><td>Chinese (China Mainland)</td><td><code translate="no" dir="ltr">zh_<wbr>cn</code></td></tr>
26+
<tr><td>Chinese (Hong Kong)</td><td><code translate="no" dir="ltr">zh_<wbr>hk</code></td></tr>
27+
<tr><td>Chinese (Taiwan)</td><td><code translate="no" dir="ltr">zh_<wbr>tw</code></td></tr>
28+
<tr><td>Croatian</td><td><code translate="no" dir="ltr">hr</code></td></tr>
29+
<tr><td>Czech</td><td><code translate="no" dir="ltr">cs</code></td></tr>
30+
<tr><td>Danish</td><td><code translate="no" dir="ltr">da</code></td></tr>
31+
<tr><td>Dutch</td><td><code translate="no" dir="ltr">nl</code></td></tr>
32+
<tr><td>English</td><td><code translate="no" dir="ltr">en</code></td></tr>
33+
<tr><td>English (United States)</td><td><code translate="no" dir="ltr">en_<wbr>us</code></td></tr>
34+
<tr><td>English (Australia)</td><td><code translate="no" dir="ltr">en_<wbr>au</code></td></tr>
35+
<tr><td>English (Canada)</td><td><code translate="no" dir="ltr">en_<wbr>ca</code></td></tr>
36+
<tr><td>English (United Kingdom)</td><td><code translate="no" dir="ltr">en_<wbr>gb</code></td></tr>
37+
<tr><td>English (Ireland)</td><td><code translate="no" dir="ltr">en_<wbr>ie</code></td></tr>
38+
<tr><td>English (India)</td><td><code translate="no" dir="ltr">en_<wbr>in</code></td></tr>
39+
<tr><td>English (Singapore)</td><td><code translate="no" dir="ltr">en_<wbr>sg</code></td></tr>
40+
<tr><td>English (South Africa)</td><td><code translate="no" dir="ltr">en_<wbr>za</code></td></tr>
41+
<tr><td>Estonian</td><td><code translate="no" dir="ltr">et</code></td></tr>
42+
<tr><td>Farsi</td><td><code translate="no" dir="ltr">fa</code></td></tr>
43+
<tr><td>Filipino</td><td><code translate="no" dir="ltr">fil</code></td></tr>
44+
<tr><td>Finnish</td><td><code translate="no" dir="ltr">fi</code></td></tr>
45+
<tr><td>French</td><td><code translate="no" dir="ltr">fr</code></td></tr>
46+
<tr><td>French (Canada)</td><td><code translate="no" dir="ltr">fr_<wbr>ca</code></td></tr>
47+
<tr><td>French (Switzerland)</td><td><code translate="no" dir="ltr">fr_<wbr>ch</code></td></tr>
48+
<tr><td>Galician</td><td><code translate="no" dir="ltr">gl</code></td></tr>
49+
<tr><td>German</td><td><code translate="no" dir="ltr">de</code></td></tr>
50+
<tr><td>German (Austria)</td><td><code translate="no" dir="ltr">de_<wbr>at</code></td></tr>
51+
<tr><td>Greek</td><td><code translate="no" dir="ltr">el</code></td></tr>
52+
<tr><td>Gujarati</td><td><code translate="no" dir="ltr">gu</code></td></tr>
53+
<tr><td>Hebrew</td><td><code translate="no" dir="ltr">he</code></td></tr>
54+
<tr><td>Hindi</td><td><code translate="no" dir="ltr">hi</code></td></tr>
55+
<tr><td>Hungarian</td><td><code translate="no" dir="ltr">hu</code></td></tr>
56+
<tr><td>Icelandic</td><td><code translate="no" dir="ltr">is</code></td></tr>
57+
<tr><td>Indonesian</td><td><code translate="no" dir="ltr">id</code></td></tr>
58+
<tr><td>Italian</td><td><code translate="no" dir="ltr">it</code></td></tr>
59+
<tr><td>Japanese</td><td><code translate="no" dir="ltr">ja</code></td></tr>
60+
<tr><td>Kannada</td><td><code translate="no" dir="ltr">kn</code></td></tr>
61+
<tr><td>Korean</td><td><code translate="no" dir="ltr">ko</code></td></tr>
62+
<tr><td>Lao</td><td><code translate="no" dir="ltr">lo</code></td></tr>
63+
<tr><td>Latvian</td><td><code translate="no" dir="ltr">lv</code></td></tr>
64+
<tr><td>Lingala</td><td><code translate="no" dir="ltr">ln</code></td></tr>
65+
<tr><td>Lithuanian</td><td><code translate="no" dir="ltr">lt</code></td></tr>
66+
<tr><td>Malay</td><td><code translate="no" dir="ltr">ms</code></td></tr>
67+
<tr><td>Malayalam</td><td><code translate="no" dir="ltr">ml</code></td></tr>
68+
<tr><td>Marathi</td><td><code translate="no" dir="ltr">mr</code></td></tr>
69+
<tr><td>Norwegian</td><td><code translate="no" dir="ltr">no</code></td></tr>
70+
<tr><td>Polish</td><td><code translate="no" dir="ltr">pl</code></td></tr>
71+
<tr><td>Portuguese</td><td><code translate="no" dir="ltr">pt</code></td></tr>
72+
<tr><td>Portuguese (Brazil)</td><td><code translate="no" dir="ltr">pt_<wbr>br</code></td></tr>
73+
<tr><td>Portuguese (Portugal)</td><td><code translate="no" dir="ltr">pt_<wbr>pt</code></td></tr>
74+
<tr><td>Romanian</td><td><code translate="no" dir="ltr">ro</code></td></tr>
75+
<tr><td>Russian</td><td><code translate="no" dir="ltr">ru</code></td></tr>
76+
<tr><td>Serbian</td><td><code translate="no" dir="ltr">sr</code></td></tr>
77+
<tr><td>Slovak</td><td><code translate="no" dir="ltr">sk</code></td></tr>
78+
<tr><td>Slovenian</td><td><code translate="no" dir="ltr">sl</code></td></tr>
79+
<tr><td>Spanish</td><td><code translate="no" dir="ltr">es</code></td></tr>
80+
<tr><td>Spanish (Latin America)</td><td><code translate="no" dir="ltr">es_<wbr>419</code></td></tr>
81+
<tr><td>Spanish (Argentina)</td><td><code translate="no" dir="ltr">es_<wbr>ar</code></td></tr>
82+
<tr><td>Spanish (Chile)</td><td><code translate="no" dir="ltr">es_<wbr>cl</code></td></tr>
83+
<tr><td>Spanish (Colombia)</td><td><code translate="no" dir="ltr">es_<wbr>co</code></td></tr>
84+
<tr><td>Spanish (Costa Rica)</td><td><code translate="no" dir="ltr">es_<wbr>cr</code></td></tr>
85+
<tr><td>Spanish (Dominican Rep.)</td><td><code translate="no" dir="ltr">es_<wbr>do</code></td></tr>
86+
<tr><td>Spanish (Ecuador)</td><td><code translate="no" dir="ltr">es_<wbr>ec</code></td></tr>
87+
<tr><td>Spanish (El Salvador)</td><td><code translate="no" dir="ltr">es_<wbr>sv</code></td></tr>
88+
<tr><td>Spanish (Guatemala)</td><td><code translate="no" dir="ltr">es_<wbr>gt</code></td></tr>
89+
<tr><td>Spanish (Honduras)</td><td><code translate="no" dir="ltr">es_<wbr>hn</code></td></tr>
90+
<tr><td>Spanish (Mexico)</td><td><code translate="no" dir="ltr">es_<wbr>mx</code></td></tr>
91+
<tr><td>Spanish (Nicaragua)</td><td><code translate="no" dir="ltr">es_<wbr>ni</code></td></tr>
92+
<tr><td>Spanish (Panama)</td><td><code translate="no" dir="ltr">es_<wbr>pa</code></td></tr>
93+
<tr><td>Spanish (Peru)</td><td><code translate="no" dir="ltr">es_<wbr>pe</code></td></tr>
94+
<tr><td>Spanish (Puerto Rico)</td><td><code translate="no" dir="ltr">es_<wbr>pr</code></td></tr>
95+
<tr><td>Spanish (Paraguay)</td><td><code translate="no" dir="ltr">es_<wbr>py</code></td></tr>
96+
<tr><td>Spanish (United States)</td><td><code translate="no" dir="ltr">es_<wbr>us</code></td></tr>
97+
<tr><td>Spanish (Uruguay)</td><td><code translate="no" dir="ltr">es_<wbr>uy</code></td></tr>
98+
<tr><td>Spanish (Venezuela)</td><td><code translate="no" dir="ltr">es_<wbr>ve</code></td></tr>
99+
<tr><td>Swahili</td><td><code translate="no" dir="ltr">sw</code></td></tr>
100+
<tr><td>Swedish</td><td><code translate="no" dir="ltr">sv</code></td></tr>
101+
<tr><td>Swiss German</td><td><code translate="no" dir="ltr">gsw</code></td></tr>
102+
<tr><td>Tagalog</td><td><code translate="no" dir="ltr">tl</code></td></tr>
103+
<tr><td>Tamil</td><td><code translate="no" dir="ltr">ta</code></td></tr>
104+
<tr><td>Telugu</td><td><code translate="no" dir="ltr">te</code></td></tr>
105+
<tr><td>Thai</td><td><code translate="no" dir="ltr">th</code></td></tr>
106+
<tr><td>Turkish</td><td><code translate="no" dir="ltr">tr</code></td></tr>
107+
<tr><td>Ukrainian</td><td><code translate="no" dir="ltr">uk</code></td></tr>
108+
<tr><td>Urdu</td><td><code translate="no" dir="ltr">ur</code></td></tr>
109+
<tr><td>Vietnamese</td><td><code translate="no" dir="ltr">vi</code></td></tr>
110+
<tr><td>Zulu</td><td><code translate="no" dir="ltr">zu</code></td></tr>
111+
</tbody>
112+
</table>

help_docs/method_summary.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ self.wait_for_angularjs(timeout=None)
193193
self.sleep(seconds)
194194
# Duplicates: self.wait(seconds)
195195

196+
self.activate_design_mode()
197+
198+
self.deactivate_design_mode()
199+
196200
self.activate_jquery()
197201

198202
self.bring_to_front(selector, by=By.CSS_SELECTOR)

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ nav:
6868
- API Reference: help_docs/method_summary.md
6969
- Languages / 语言:
7070
- Translations: help_docs/translations.md
71+
- Locale Codes: help_docs/locale_codes.md
7172
- Chinese / 中文文件: help_docs/chinese.md
7273
- Mobile Testing: help_docs/mobile_testing.md
7374
- Console Scripts: seleniumbase/console_scripts/ReadMe.md

0 commit comments

Comments
 (0)