Pull request to add new layout Persian (#342)

* Add persian layout

* Change layoutId_of_string to layout_of_string

* Add translation for Persian
This commit is contained in:
Reza Hosseinzadeh 2023-04-23 03:17:25 +03:30 committed by GitHub
parent 145f209189
commit e3347a166f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 125 additions and 1 deletions

View File

@ -84,7 +84,7 @@ An entry must be added to the layout option in `res/values/arrays.xml`, to both
(display name).
The layout must also be referenced in `srcs/juloo.keyboard2/Config.java` in
`layoutId_of_string`.
`layout_of_string`.
#### Adding a programming layout

80
res/values-fa/strings.xml Normal file
View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name" product="debug">صفحه کلید غیرمنتظره</string>
<string name="app_name" product="default">صفحه کلید غیرمنتظره</string>
<string name="settings_activity_label">تنظیمات صفحه کلید غیرمنتظره</string>
<string name="pref_portrait">در حالت عمودی</string>
<string name="pref_landscape">در حالت افقی</string>
<string name="pref_category_layout">طرح</string>
<string name="pref_label_brightness">تنظیم برچسب روشنایی</string>
<string name="pref_keyboard_opacity">تنظیم کدر بودن پس‌زمینه صفحه کلید</string>
<string name="pref_key_opacity">تنظیم کدر بودن کلید</string>
<string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string>
<string name="pref_layout_title">تغییر طرح صفحه کلید</string>
<string name="pref_layout_e_system">تنظیمات سامانه</string>
<string name="pref_layout_e_custom">طرح صفارشی</string>
<string name="pref_accents_title">لهجه‌ها</string>
<string name="pref_accents_e_all_installed">نمایش لهجه‌ها برای تمام زبان‌هی نصب شده</string>
<string name="pref_accents_e_selected">فقط نمایش لهجه‌ها برای زبان‌های انتخاب شده</string>
<string name="pref_accents_e_none">پنهان کردن لهجه‌ها</string>
<string name="pref_show_numpad_title">نمایش پد شماره‌ها</string>
<string name="pref_show_numpad_never">هرگز</string>
<string name="pref_show_numpad_landscape">فقط در حالت افقی</string>
<string name="pref_show_numpad_always">همیشه</string>
<string name="pref_number_row_title">نمایش ردیف اعداد</string>
<string name="pref_number_row_summary">افزودن ردیف اعداد زمانیکه پد شماره‌ها پنهان است</string>
<string name="pref_numpad_layout">طرح پد شماره‌ها</string>
<string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string>
<string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string>
<string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string>
<string name="pref_second_layout_title">طرح دوم</string>
<string name="pref_second_layout_none">هیچ</string>
<string name="pref_category_typing">درحال نوشتن</string>
<string name="pref_swipe_dist_title">فاصله کشیدن</string>
<string name="pref_swipe_dist_summary">فاصله حروف از گوشه‌های کلیدها )(%s)</string>
<string name="pref_long_timeout_title">درنگ تکرار کلید</string>
<string name="pref_long_interval_title">فاصله تکرار کلید</string>
<!-- <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> -->
<!-- <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> -->
<!-- <string name="pref_category_behavior">Behavior</string> -->
<!-- <string name="pref_autocapitalisation_title">Automatic capitalisation</string> -->
<!-- <string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string> -->
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<!-- <string name="pref_vibrate_title">Vibration</string> -->
<!-- <string name="pref_vibrate_summary">Enable/disable vibration on keypress</string> -->
<!-- <string name="pref_category_style">Style</string> -->
<!-- <string name="pref_margin_bottom_title">Margin bottom</string> -->
<!-- <string name="pref_keyboard_height_title">Keyboard height</string> -->
<!-- <string name="pref_horizontal_margin_title">Horizontal margin</string> -->
<!-- <string name="pref_character_size_title">Label size</string> -->
<!-- <string name="pref_character_size_summary">Size of characters displayed on the keyboard (%.2fx)</string> -->
<!-- <string name="pref_theme">Theme</string> -->
<!-- <string name="pref_theme_e_system">System settings</string> -->
<!-- <string name="pref_theme_e_dark">Dark</string> -->
<!-- <string name="pref_theme_e_light">Light</string> -->
<!-- <string name="pref_theme_e_black">Black</string> -->
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
<!-- <string name="pref_theme_e_white">White</string> -->
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
<!-- <string name="pref_swipe_dist_e_very_short">Very short</string> -->
<!-- <string name="pref_swipe_dist_e_short">Short</string> -->
<!-- <string name="pref_swipe_dist_e_default">Normal</string> -->
<!-- <string name="pref_swipe_dist_e_far">Far</string> -->
<!-- <string name="pref_swipe_dist_e_very_far">Very far</string> -->
<!-- <string name="pref_key_horizontal_space">Horizontal spacing between the keys</string> -->
<!-- <string name="pref_key_vertical_space">Vertical spacing between the keys</string> -->
<!-- <string name="pref_category_advanced">Advanced</string> -->
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
<!-- <string name="pref_custom_layout_summary">See the source code. This option is not meant to be used.</string> -->
<!-- <string name="key_action_next">Next</string> -->
<!-- <string name="key_action_done">Done</string> -->
<!-- <string name="key_action_go">Go</string> -->
<!-- <string name="key_action_prev">Prev</string> -->
<!-- <string name="key_action_search">Search</string> -->
<!-- <string name="key_action_send">Send</string> -->
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
</resources>

View File

@ -34,6 +34,7 @@
<item>he_il_1452_2</item>
<item>ar_pc</item>
<item>ar_alt</item>
<item>persian</item>
<item>custom</item>
</string-array>
<string-array name="pref_layout_entries">
@ -70,6 +71,7 @@
<item>Hebrew SI-1452-2</item>
<item>Arabic PC</item>
<item>Arabic ALT</item>
<item>Persian</item>
<item>@string/pref_layout_e_custom</item>
</string-array>
<string-array name="pref_accents_entries">

41
res/xml/persian.xml Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard>
<row>
<key key0="ض" key2="١" key3="`" key4="esc"/>
<key key0="ص" key2="٢" key3="\@"/>
<key key0="ث" key2="٣" key3="\#"/>
<key key0="ق" key2="٤" key3="$"/>
<key key0="ف" key2="٥" key3="%"/>
<key key0="غ" key2="٦" key3="^"/>
<key key0="ع" key2="٧" key3="&amp;"/>
<key key0="ه" key2="٨" key3="×"/>
<key key0="خ" key2="٩" key3="("/>
<key key0="ح" key2="٠" key3=")"/>
<key key0="ج" key2="!"/>
</row>
<row>
<key key0="ش" key4="tab"/>
<key key0="س" key2="*"/>
<key key0="ی" key2="+"/>
<key key0="ب" key2="/"/>
<key key0="ل" key2="-"/>
<key key0="ا" key1="آ"/>
<key key0="ت" key1="&#x200C;"/>
<key key0="ن"/>
<key key0="م" key1="»"/>
<key key0="ک" key1="«"/>
<key key0="گ"/>
</row>
<row>
<key key0="ظ" key3="&#1567;"/>
<key key0="ط"/>
<key key0="ز" key3="."/>
<key key0="ر" key1="}"/>
<key key0="ذ" key1="{"/>
<key key0="د" key1="؛"/>
<key key0="ء" key1=":"/>
<key key0="ى" key1="ئ"/>
<key key0="و" key1="ـ" key3=","/>
<key width="1.0" key0="backspace" key2="delete"/>
</row>
</keyboard>

View File

@ -374,6 +374,7 @@ final class Config
case "he_il_1452_2": id = R.xml.he_il_1452_2; break;
case "ar_pc": id = R.xml.ar_pc; break;
case "ar_alt": id = R.xml.ar_alt; break;
case "persian": id = R.xml.persian; break;
}
return KeyboardData.load(res, id);
}