mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-08 05:24:39 +01:00
Merge branch 'android_branch' into relay_noconn
Conflicts: xwords4/android/XWords4/archive/R.java
This commit is contained in:
commit
be44613773
9 changed files with 4716 additions and 520 deletions
File diff suppressed because it is too large
Load diff
|
@ -712,7 +712,10 @@
|
|||
<!-- Notifies user of a normal robot move -->
|
||||
<string name="str_robot_moved_fmt">The robot %1$s made this move:\u0020</string>
|
||||
<!-- Notifies user of a robot trade move -->
|
||||
<plurals name="strd_robot_traded_fmt"><item quantity="other">exchanged %1$d tiles.</item></plurals>
|
||||
<plurals name="strd_robot_traded_fmt">
|
||||
<item quantity="one">exchanged one tile.</item>
|
||||
<item quantity="other">exchanged %1$d tiles.</item>
|
||||
</plurals>
|
||||
<!-- title for window you get when you select menu with text
|
||||
board_menu_game_counts -->
|
||||
<string name="strs_values_header_fmt">%1$s counts/values:\n</string>
|
||||
|
@ -1241,8 +1244,12 @@
|
|||
|
||||
<!-- Text of dialog asking user to confirm a move that exchanges
|
||||
tiles (instead of forming a new word to earn points) -->
|
||||
<plurals name="query_trade_fmt"><item quantity="other">Are you sure you want to exchange the
|
||||
%1$d selected tiles (%2$s)?</item></plurals>
|
||||
<plurals name="query_trade_fmt">
|
||||
<item quantity="one">Are you sure you want to exchange the
|
||||
selected tile (%2$s)?</item>
|
||||
<item quantity="other">Are you sure you want to exchange the
|
||||
%1$d selected tiles (%2$s)?</item>
|
||||
</plurals>
|
||||
|
||||
<!-- ############################################################
|
||||
# :Screens:
|
||||
|
@ -1801,11 +1808,11 @@
|
|||
<string name="pick_faceup">Pick tiles face-up</string>
|
||||
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title_fmt"><item quantity="other">%1$s (%2$d words using %3$d-%4$d
|
||||
tiles)</item></plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d words using %3$d-%4$d
|
||||
tiles)</string>
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title1_fmt"><item quantity="other">%1$s (%2$d words using %3$d
|
||||
tiles)</item></plurals>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d words using %3$d
|
||||
tiles)</string>
|
||||
<!-- -->
|
||||
<string name="dict_browse_nowords_fmt">No word in %1$s starts with
|
||||
%2$s.</string>
|
||||
|
@ -1882,6 +1889,9 @@
|
|||
<string name="new_move_body">One or more moves has arrived</string>
|
||||
<!-- -->
|
||||
<plurals name="invite_bt_desc_fmt">
|
||||
<item quantity="one">Please select the device
|
||||
you want to include in this game. Use the \"%2$s\"
|
||||
button if you don\'t see the device you expect.</item>
|
||||
<item quantity="other">Please select up to %1$d device[s]
|
||||
you want to include in this game. Use the \"%2$s\"
|
||||
button if you don\'t see a device you expect.</item>
|
||||
|
@ -2126,10 +2136,17 @@
|
|||
<string name="group_cur_games">My games</string>
|
||||
<string name="group_new_games">New games</string>
|
||||
|
||||
<plurals name="groups_confirm_del_fmt"><item quantity="other">Are you sure you want to delete
|
||||
the %1$d selected group[s]?</item></plurals>
|
||||
<plurals name="groups_confirm_del_games_fmt"><item quantity="other">\n\n(%1$d game[s] will
|
||||
also be deleted.)</item></plurals>
|
||||
<plurals name="groups_confirm_del_fmt">
|
||||
<item quantity="one">Are you sure you want to delete
|
||||
the selected group?</item>
|
||||
<item quantity="other">Are you sure you want to delete
|
||||
the %1$d selected group[s]?</item>
|
||||
</plurals>
|
||||
<plurals name="groups_confirm_del_games_fmt">
|
||||
<item quantity="one">\n\n(one game will also be deleted.)</item>
|
||||
<item quantity="other">\n\n(%1$d games will also be
|
||||
deleted.)</item>
|
||||
</plurals>
|
||||
|
||||
<string name="rename_group_label">Change the name of this group to:</string>
|
||||
<string name="game_name_group_title">Name group</string>
|
||||
|
@ -2204,9 +2221,16 @@
|
|||
|
||||
<string name="slmenu_copy_sel">Copy to clipboard</string>
|
||||
<string name="slmenu_clear_sel">Delete selected</string>
|
||||
<plurals name="confirm_studylist_clear_fmt"><item quantity="other">Are you sure you want to
|
||||
delete the %1$d selected word[s]?\n\n(This action cannot be undone.)</item></plurals>
|
||||
<plurals name="paste_done_fmt"><item quantity="other">%1$d word[s] copied</item></plurals>
|
||||
<plurals name="confirm_studylist_clear_fmt">
|
||||
<item quantity="one">Are you sure you want to delete the
|
||||
selected word?\n\n(This action cannot be undone.)</item>
|
||||
<item quantity="other">Are you sure you want to delete the %1$d
|
||||
selected words?\n\n(This action cannot be undone.)</item>
|
||||
</plurals>
|
||||
<plurals name="paste_done_fmt">
|
||||
<item quantity="one">One word copied</item>
|
||||
<item quantity="other">%1$d words copied</item>
|
||||
</plurals>
|
||||
<string name="add_done_fmt">%1$s added to %2$s studylist</string>
|
||||
<string name="studylist_title_fmt">Studylist for %1$s</string>
|
||||
|
||||
|
@ -2231,7 +2255,10 @@
|
|||
<string name="loc_lang_blessed">%1$s (official)</string>
|
||||
<string name="loc_lang_local">%1$s (yours)</string>
|
||||
|
||||
<plurals name="new_xlations_fmt"><item quantity="other">Installed %1$d new translations</item></plurals>
|
||||
<plurals name="new_xlations_fmt">
|
||||
<item quantity="one">Installed one new translation</item>
|
||||
<item quantity="other">Installed %1$d new translations</item>
|
||||
</plurals>
|
||||
|
||||
<string name="xlations_enabled_title">Enable local translating</string>
|
||||
<string name="xlations_enabled_summary">Add option to every screen menu</string>
|
||||
|
@ -2341,13 +2368,16 @@
|
|||
|
||||
<!-- formatting for last move summary in notifications -->
|
||||
<string name="lmi_pass_fmt">%1$s passed (0 points)</string>
|
||||
<plurals name="lmi_move_fmt"><item quantity="other">%1$s played %2$s for %3$d points</item></plurals>
|
||||
<plurals name="lmi_trade_fmt"><item quantity="other">%1$s traded %2$d tiles</item></plurals>
|
||||
<plurals name="lmi_move_fmt">
|
||||
<item quantity="other">%1$s played %2$s for %3$d points</item>
|
||||
</plurals>
|
||||
<plurals name="lmi_trade_fmt">
|
||||
<item quantity="one">%1$s traded one tile</item>
|
||||
<item quantity="other">%1$s traded %2$d tiles</item>
|
||||
</plurals>
|
||||
<string name="lmi_phony_fmt">%1$s lost a turn</string>
|
||||
<string name="lmi_tiles_fmt">Tiles assigned to %1$s</string>
|
||||
|
||||
<plurals name="bt_err_count_fmt"><item quantity="other">%1$d bluetooth errors so far</item></plurals>
|
||||
|
||||
<string name="bt_no_devs">You currently have no paired Bluetooth
|
||||
devices. Would you like to open the Android Settings Panel to add
|
||||
one or more?\n\n(You may also need to open it on the device you
|
||||
|
|
|
@ -606,6 +606,7 @@
|
|||
<string name="str_robot_moved_fmt">Eht tobor %1$s edam siht evom:\u0020</string>
|
||||
<!-- Notifies user of a robot trade move -->
|
||||
<plurals name="strd_robot_traded_fmt">
|
||||
<item quantity="one">degnahcxe eno elit.</item>
|
||||
<item quantity="other">degnahcxe %1$d selit.</item>
|
||||
</plurals>
|
||||
<!-- title for window you get when you select menu with text
|
||||
|
@ -1071,8 +1072,10 @@
|
|||
<!-- Text of dialog asking user to confirm a move that exchanges
|
||||
tiles (instead of forming a new word to earn points) -->
|
||||
<plurals name="query_trade_fmt">
|
||||
<item quantity="one">Era uoy erus uoy tnaw ot egnahcxe eht
|
||||
detceles elit (%2$s?)</item>
|
||||
<item quantity="other">Era uoy erus uoy tnaw ot egnahcxe eht
|
||||
%1$d detceles selit (%2$s?)</item>
|
||||
%1$d detceles selit (%2$s?)</item>
|
||||
</plurals>
|
||||
<!-- ############################################################
|
||||
# :Screens:
|
||||
|
@ -1551,15 +1554,11 @@
|
|||
<!-- -->
|
||||
<string name="pick_faceup">Kcip selit pu-ecaf</string>
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title_fmt">
|
||||
<item quantity="other">%1$s (%2$d sdrow gnisu %3$d-%4$d
|
||||
)selit</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d sdrow gnisu %3$d-%4$d
|
||||
)selit</string>
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title1_fmt">
|
||||
<item quantity="other">%1$s (%2$d sdrow gnisu %3$d
|
||||
)selit</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d sdrow gnisu %3$d
|
||||
)selit</string>
|
||||
<!-- -->
|
||||
<string name="dict_browse_nowords_fmt">On drow ni %1$s strats htiw
|
||||
%2$s.</string>
|
||||
|
@ -1626,6 +1625,9 @@
|
|||
<string name="new_move_body">Eno ro erom sevom sah devirra</string>
|
||||
<!-- -->
|
||||
<plurals name="invite_bt_desc_fmt">
|
||||
<item quantity="one">Esaelp tceles eht ecived
|
||||
uoy tnaw ot edulcni ni siht emag. Esu eht \"%2$s\"
|
||||
nottub fi uoy nod\'t ees eht ecived uoy tcepxe.</item>
|
||||
<item quantity="other">Esaelp tceles pu ot %1$d ]s[ecived
|
||||
uoy tnaw ot edulcni ni siht emag. Esu eht \"%2$s\"
|
||||
nottub fi uoy nod\'t ees a ecived uoy tcepxe.</item>
|
||||
|
@ -1847,12 +1849,15 @@
|
|||
<string name="group_cur_games">Ym semag</string>
|
||||
<string name="group_new_games">Wen semag</string>
|
||||
<plurals name="groups_confirm_del_fmt">
|
||||
<item quantity="one">Era uoy erus uoy tnaw ot eteled
|
||||
eht detceles ?puorg</item>
|
||||
<item quantity="other">Era uoy erus uoy tnaw ot eteled
|
||||
eht %1$d detceles ?]s[puorg</item>
|
||||
eht %1$d detceles ?]s[puorg</item>
|
||||
</plurals>
|
||||
<plurals name="groups_confirm_del_games_fmt">
|
||||
<item quantity="other">\n\n(%1$d ]s[emag lliw
|
||||
osla eb deteled.)</item>
|
||||
<item quantity="one">\n\neno( emag lliw osla eb deteled.)</item>
|
||||
<item quantity="other">\n\n(%1$d semag lliw osla eb
|
||||
deteled.)</item>
|
||||
</plurals>
|
||||
<string name="rename_group_label">Egnahc eht eman fo siht puorg ot:</string>
|
||||
<string name="game_name_group_title">Eman puorg</string>
|
||||
|
@ -1907,11 +1912,14 @@
|
|||
<string name="slmenu_copy_sel">Ypoc ot draobpilc</string>
|
||||
<string name="slmenu_clear_sel">Eteled detceles</string>
|
||||
<plurals name="confirm_studylist_clear_fmt">
|
||||
<item quantity="other">Era uoy erus uoy tnaw ot
|
||||
eteled eht %1$d detceles ?]s[drow\n\nsIht( noitca tonnac eb enodnu.)</item>
|
||||
<item quantity="one">Era uoy erus uoy tnaw ot eteled eht
|
||||
detceles ?drow\n\nsIht( noitca tonnac eb enodnu.)</item>
|
||||
<item quantity="other">Era uoy erus uoy tnaw ot eteled eht %1$d
|
||||
detceles ?sdrow\n\nsIht( noitca tonnac eb enodnu.)</item>
|
||||
</plurals>
|
||||
<plurals name="paste_done_fmt">
|
||||
<item quantity="other">%1$d ]s[drow deipoc</item>
|
||||
<item quantity="one">Eno drow deipoc</item>
|
||||
<item quantity="other">%1$d sdrow deipoc</item>
|
||||
</plurals>
|
||||
<string name="add_done_fmt">%1$s dedda ot %2$s tsilyduts</string>
|
||||
<string name="studylist_title_fmt">Tsilyduts rof %1$s</string>
|
||||
|
@ -1931,6 +1939,7 @@
|
|||
<string name="loc_lang_blessed">%1$s )laiciffo(</string>
|
||||
<string name="loc_lang_local">%1$s )sruoy(</string>
|
||||
<plurals name="new_xlations_fmt">
|
||||
<item quantity="one">Dellatsni eno wen noitalsnart</item>
|
||||
<item quantity="other">Dellatsni %1$d wen snoitalsnart</item>
|
||||
</plurals>
|
||||
<string name="xlations_enabled_title">Elbane lacol gnitalsnart</string>
|
||||
|
@ -2029,13 +2038,11 @@
|
|||
<item quantity="other">%1$s deyalp %2$s rof %3$d stniop</item>
|
||||
</plurals>
|
||||
<plurals name="lmi_trade_fmt">
|
||||
<item quantity="one">%1$s dedart eno elit</item>
|
||||
<item quantity="other">%1$s dedart %2$d selit</item>
|
||||
</plurals>
|
||||
<string name="lmi_phony_fmt">%1$s tsol a nrut</string>
|
||||
<string name="lmi_tiles_fmt">Selit dengissa ot %1$s</string>
|
||||
<plurals name="bt_err_count_fmt">
|
||||
<item quantity="other">%1$d htooteulb srorre os raf</item>
|
||||
</plurals>
|
||||
<string name="bt_no_devs">Uoy yltnerruc evah on deriap Htooteulb
|
||||
secived. Dluow uoy ekil ot nepo eht Diordna Sgnittes Lenap ot dda
|
||||
eno ro ?erom\n\nuOy( yam osla deen ot nepo ti no eht ecived uoy
|
||||
|
|
|
@ -508,12 +508,8 @@
|
|||
<string name="cur_tiles_fmt">Selector de fitxes\n(com a molt:%1$s)</string>
|
||||
<string name="pick_faceup">Tria les fitxes cara amunt</string>
|
||||
|
||||
<plurals name="dict_browse_title_fmt">
|
||||
<item quantity="other">%1$s (%2$d paraules usant %3$d-%4$d fitxes)</item>
|
||||
</plurals>
|
||||
<plurals name="dict_browse_title1_fmt">
|
||||
<item quantity="other">%1$s (%2$d paraules usant %3$d fitxes)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d paraules usant %3$d-%4$d fitxes)</string>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d paraules usant %3$d fitxes)</string>
|
||||
<string name="dict_browse_nowords_fmt">No hi ha cap paraula a %1$s que comenci amb %2$s.</string>
|
||||
<string name="not_again_browse">Aquest botó obre l\'explorador de diccionaris en el diccionari actual del jugador.</string>
|
||||
<string name="not_again_browseall">Aquest botó obre l\'explorador de diccionaris en el diccionari de la vostra elecció.</string>
|
||||
|
@ -1012,9 +1008,6 @@
|
|||
<string name="db_store_done">S\'ha completat l\'escriptura a la targeta SD.</string>
|
||||
|
||||
<string name="confirm_sms_expl">Atenció: aquesta funcionalitat és per a telèfons amb plans de missatges SMS il·limitats. Si l\'habiliteu, per cada partida jugada, s\'enviaran dotzenes de missatges de text SMS de forma invisible. Si no teniu un pla il·limitat, la vostra operadora us pot cobrar cadascun dels missatges!\n\nVoleu habilitar el joc via SMS?</string>
|
||||
<plurals name="bt_err_count_fmt">
|
||||
<item quantity="other">Fins ara, %1$d errors Bluetooth</item>
|
||||
</plurals>
|
||||
|
||||
<string name="app_not_found_fmt">No es pot connectar al Crosswords en l\'aparell %1$s. Comproveu que l\'aparell és proper i que té el Crosswords instal·lat.</string>
|
||||
|
||||
|
|
|
@ -606,6 +606,7 @@
|
|||
<string name="str_robot_moved_fmt">THE ROBOT %1$s MADE THIS MOVE:\u0020</string>
|
||||
<!-- Notifies user of a robot trade move -->
|
||||
<plurals name="strd_robot_traded_fmt">
|
||||
<item quantity="one">EXCHANGED ONE TILE.</item>
|
||||
<item quantity="other">EXCHANGED %1$d TILES.</item>
|
||||
</plurals>
|
||||
<!-- title for window you get when you select menu with text
|
||||
|
@ -1071,8 +1072,10 @@
|
|||
<!-- Text of dialog asking user to confirm a move that exchanges
|
||||
tiles (instead of forming a new word to earn points) -->
|
||||
<plurals name="query_trade_fmt">
|
||||
<item quantity="one">ARE YOU SURE YOU WANT TO EXCHANGE THE
|
||||
SELECTED TILE (%2$s)?</item>
|
||||
<item quantity="other">ARE YOU SURE YOU WANT TO EXCHANGE THE
|
||||
%1$d SELECTED TILES (%2$s)?</item>
|
||||
%1$d SELECTED TILES (%2$s)?</item>
|
||||
</plurals>
|
||||
<!-- ############################################################
|
||||
# :Screens:
|
||||
|
@ -1551,15 +1554,11 @@
|
|||
<!-- -->
|
||||
<string name="pick_faceup">PICK TILES FACE-UP</string>
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title_fmt">
|
||||
<item quantity="other">%1$s (%2$d WORDS USING %3$d-%4$d
|
||||
TILES)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d WORDS USING %3$d-%4$d
|
||||
TILES)</string>
|
||||
<!-- -->
|
||||
<plurals name="dict_browse_title1_fmt">
|
||||
<item quantity="other">%1$s (%2$d WORDS USING %3$d
|
||||
TILES)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d WORDS USING %3$d
|
||||
TILES)</string>
|
||||
<!-- -->
|
||||
<string name="dict_browse_nowords_fmt">NO WORD IN %1$s STARTS WITH
|
||||
%2$s.</string>
|
||||
|
@ -1626,6 +1625,9 @@
|
|||
<string name="new_move_body">ONE OR MORE MOVES HAS ARRIVED</string>
|
||||
<!-- -->
|
||||
<plurals name="invite_bt_desc_fmt">
|
||||
<item quantity="one">PLEASE SELECT THE DEVICE
|
||||
YOU WANT TO INCLUDE IN THIS GAME. USE THE \"%2$s\"
|
||||
BUTTON IF YOU DON\'T SEE THE DEVICE YOU EXPECT.</item>
|
||||
<item quantity="other">PLEASE SELECT UP TO %1$d DEVICE[S]
|
||||
YOU WANT TO INCLUDE IN THIS GAME. USE THE \"%2$s\"
|
||||
BUTTON IF YOU DON\'T SEE A DEVICE YOU EXPECT.</item>
|
||||
|
@ -1847,12 +1849,15 @@
|
|||
<string name="group_cur_games">MY GAMES</string>
|
||||
<string name="group_new_games">NEW GAMES</string>
|
||||
<plurals name="groups_confirm_del_fmt">
|
||||
<item quantity="one">ARE YOU SURE YOU WANT TO DELETE
|
||||
THE SELECTED GROUP?</item>
|
||||
<item quantity="other">ARE YOU SURE YOU WANT TO DELETE
|
||||
THE %1$d SELECTED GROUP[S]?</item>
|
||||
THE %1$d SELECTED GROUP[S]?</item>
|
||||
</plurals>
|
||||
<plurals name="groups_confirm_del_games_fmt">
|
||||
<item quantity="other">\n\n(%1$d GAME[S] WILL
|
||||
ALSO BE DELETED.)</item>
|
||||
<item quantity="one">\n\n(ONE GAME WILL ALSO BE DELETED.)</item>
|
||||
<item quantity="other">\n\n(%1$d GAMES WILL ALSO BE
|
||||
DELETED.)</item>
|
||||
</plurals>
|
||||
<string name="rename_group_label">CHANGE THE NAME OF THIS GROUP TO:</string>
|
||||
<string name="game_name_group_title">NAME GROUP</string>
|
||||
|
@ -1907,11 +1912,14 @@
|
|||
<string name="slmenu_copy_sel">COPY TO CLIPBOARD</string>
|
||||
<string name="slmenu_clear_sel">DELETE SELECTED</string>
|
||||
<plurals name="confirm_studylist_clear_fmt">
|
||||
<item quantity="other">ARE YOU SURE YOU WANT TO
|
||||
DELETE THE %1$d SELECTED WORD[S]?\n\n(THIS ACTION CANNOT BE UNDONE.)</item>
|
||||
<item quantity="one">ARE YOU SURE YOU WANT TO DELETE THE
|
||||
SELECTED WORD?\n\n(THIS ACTION CANNOT BE UNDONE.)</item>
|
||||
<item quantity="other">ARE YOU SURE YOU WANT TO DELETE THE %1$d
|
||||
SELECTED WORDS?\n\n(THIS ACTION CANNOT BE UNDONE.)</item>
|
||||
</plurals>
|
||||
<plurals name="paste_done_fmt">
|
||||
<item quantity="other">%1$d WORD[S] COPIED</item>
|
||||
<item quantity="one">ONE WORD COPIED</item>
|
||||
<item quantity="other">%1$d WORDS COPIED</item>
|
||||
</plurals>
|
||||
<string name="add_done_fmt">%1$s ADDED TO %2$s STUDYLIST</string>
|
||||
<string name="studylist_title_fmt">STUDYLIST FOR %1$s</string>
|
||||
|
@ -1931,6 +1939,7 @@
|
|||
<string name="loc_lang_blessed">%1$s (OFFICIAL)</string>
|
||||
<string name="loc_lang_local">%1$s (YOURS)</string>
|
||||
<plurals name="new_xlations_fmt">
|
||||
<item quantity="one">INSTALLED ONE NEW TRANSLATION</item>
|
||||
<item quantity="other">INSTALLED %1$d NEW TRANSLATIONS</item>
|
||||
</plurals>
|
||||
<string name="xlations_enabled_title">ENABLE LOCAL TRANSLATING</string>
|
||||
|
@ -2029,13 +2038,11 @@
|
|||
<item quantity="other">%1$s PLAYED %2$s FOR %3$d POINTS</item>
|
||||
</plurals>
|
||||
<plurals name="lmi_trade_fmt">
|
||||
<item quantity="one">%1$s TRADED ONE TILE</item>
|
||||
<item quantity="other">%1$s TRADED %2$d TILES</item>
|
||||
</plurals>
|
||||
<string name="lmi_phony_fmt">%1$s LOST A TURN</string>
|
||||
<string name="lmi_tiles_fmt">TILES ASSIGNED TO %1$s</string>
|
||||
<plurals name="bt_err_count_fmt">
|
||||
<item quantity="other">%1$d BLUETOOTH ERRORS SO FAR</item>
|
||||
</plurals>
|
||||
<string name="bt_no_devs">YOU CURRENTLY HAVE NO PAIRED BLUETOOTH
|
||||
DEVICES. WOULD YOU LIKE TO OPEN THE ANDROID SETTINGS PANEL TO ADD
|
||||
ONE OR MORE?\n\n(YOU MAY ALSO NEED TO OPEN IT ON THE DEVICE YOU
|
||||
|
|
|
@ -2225,20 +2225,13 @@ ligne, les mots qui viennent d\'être joués.</string>
|
|||
tiles)</string>-->
|
||||
<!--<string name="dict_browse_title_fmt">%1$s (%2$d mots utilisant de %3$d à
|
||||
%4$d jetons)</string>-->
|
||||
<plurals name="dict_browse_title_fmt">
|
||||
<item quantity="one">%1$s (%2$d mot utilisant de %3$d à
|
||||
%4$d jetons)</item>
|
||||
<item quantity="other">%1$s (%2$d mots utilisant de %3$d à
|
||||
%4$d jetons)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d mots utilisant de
|
||||
%3$d à %4$d jetons)</string>
|
||||
<!-- -->
|
||||
<!--<string name="dict_browse_title1_fmt">%1$s (%2$d words using %3$d
|
||||
tiles)</string>-->
|
||||
<!--<string name="dict_browse_title1_fmt">%1$s (%2$d mots utilisant %3$d jetons)</string>-->
|
||||
<plurals name="dict_browse_title1_fmt">
|
||||
<item quantity="one">%1$s (%2$d mot utilisant %3$d jetons)</item>
|
||||
<item quantity="other">%1$s (%2$d mots utilisant %3$d jetons)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d mots utilisant %3$d jetons)</string>
|
||||
<!-- -->
|
||||
<!--<string name="dict_browse_nowords_fmt">No word in %1$s starts with
|
||||
%2$s.</string>-->
|
||||
|
@ -3053,13 +3046,6 @@ pour voir ce qui est disponible.</string>
|
|||
<!--<string name="lmi_tiles_fmt">Tiles assigned to %1$s</string>-->
|
||||
<string name="lmi_tiles_fmt">Jetons attribués à %1$s</string>
|
||||
|
||||
<!--<string name="bt_err_count_fmt">%1$d bluetooth errors so far</string>-->
|
||||
<!--<string name="bt_err_count_fmt">%1$d erreurs Bluetooth jusqu\'à maintenant</string>-->
|
||||
<plurals name="bt_err_count_fmt">
|
||||
<item quantity="one">%1$d erreur Bluetooth jusqu\'à maintenant</item>
|
||||
<item quantity="other">%1$d erreurs Bluetooth jusqu\'à maintenant</item>
|
||||
</plurals>
|
||||
|
||||
<!--<string name="bt_no_devs">You currently have no paired Bluetooth
|
||||
devices. Would you like to open the Android Settings Panel to add
|
||||
one or more?\n\n(You may also need to open it on the device you
|
||||
|
|
|
@ -390,14 +390,8 @@
|
|||
<string name="tilepick_all">Kies voor mij</string>
|
||||
<string name="cur_tiles_fmt">Letter kiezer\n(tot nog toe: %1$s)</string>
|
||||
<string name="pick_faceup">Pak letters met de letter naar boven</string>
|
||||
<plurals name="dict_browse_title_fmt">
|
||||
<item quantity="one">%1$s (%2$d woord met %3$d-%4$d letters)</item>
|
||||
<item quantity="other">%1$s (%2$d woorden met %3$d-%4$d letters)</item>
|
||||
</plurals>
|
||||
<plurals name="dict_browse_title1_fmt">
|
||||
<item quantity="one">%1$s (%2$d woord met %3$d letters)</item>
|
||||
<item quantity="other">%1$s (%2$d woorden met %3$d letters)</item>
|
||||
</plurals>
|
||||
<string name="dict_browse_title_fmt">%1$s (%2$d woorden met %3$d-%4$d letters)</string>
|
||||
<string name="dict_browse_title1_fmt">%1$s (%2$d woorden met %3$d letters)</string>
|
||||
<string name="dict_browse_nowords_fmt">Geen woord in %1$s begint met %2$s.</string>
|
||||
<string name="not_again_browse">Deze knop opent de woordenlijst browser voor de woordenlijst van de speler die aan de beurt is.</string>
|
||||
<string name="not_again_browseall">Deze knop opent de woordenlijst browser voor de woordenlijst van jouw keuze.</string>
|
||||
|
@ -674,10 +668,6 @@
|
|||
</plurals>
|
||||
<string name="lmi_phony_fmt">%1$s heeft een beurt verloren</string>
|
||||
<string name="lmi_tiles_fmt">Letters gedeeld naar %1$s</string>
|
||||
<plurals name="bt_err_count_fmt">
|
||||
<item quantity="one">%1$d bluetooth fout tot nog toe</item>
|
||||
<item quantity="other">%1$d bluetooth fouten tot nog toe</item>
|
||||
</plurals>
|
||||
<string name="bt_no_devs">Je hebt om het moment geen gepaarde Bluetooth apparaten. Wil je de Android instellingen openen om een of meer apparaten te paren?\n\n(Je moet dit mogelijk ook doen op het apparaat waar je mee wilt paren.)</string>
|
||||
<string name="app_not_found_fmt">Kan niet met Crosswords verbinden op apparaat %1$s. Controleer of het apparaat dichtbij genoeg is en dat Crosswords erop geïnstalleerd is.</string>
|
||||
<string name="default_language">Stardaardtaal</string>
|
||||
|
|
|
@ -90,10 +90,10 @@ public class DictBrowseDelegate extends ListDelegateBase
|
|||
m_nWords = XwJNI.dict_iter_wordCount( m_dictClosure );
|
||||
|
||||
int format = m_browseState.m_minShown == m_browseState.m_maxShown ?
|
||||
R.plurals.dict_browse_title1_fmt : R.plurals.dict_browse_title_fmt;
|
||||
setTitle( getQuantityString( format, m_nWords, m_name, m_nWords,
|
||||
m_browseState.m_minShown,
|
||||
m_browseState.m_maxShown ));
|
||||
R.string.dict_browse_title1_fmt : R.string.dict_browse_title_fmt;
|
||||
setTitle( getString( format, m_name, m_nWords,
|
||||
m_browseState.m_minShown,
|
||||
m_browseState.m_maxShown ));
|
||||
|
||||
String desc = XwJNI.dict_iter_getDesc( m_dictClosure );
|
||||
if ( null != desc ) {
|
||||
|
|
|
@ -31,63 +31,90 @@ def sameAsEnglishPlural(engNames, strElem):
|
|||
and sameOrSameWithPrefix( str, strs['other'] )
|
||||
return result
|
||||
|
||||
def pluralsIsSame(engNames, plurals):
|
||||
different = False # all children duplicates of English
|
||||
strings = engNames[plurals.get('name')]['strings']
|
||||
for item in plurals.getchildren():
|
||||
quantity = item.get('quantity')
|
||||
text = item.text
|
||||
if not text or 0 == len(text):
|
||||
print "bogus empty item in", plurals.get('name')
|
||||
sys.exit(1)
|
||||
if quantity in strings:
|
||||
if sameOrSameWithPrefix( strings[quantity], text ):
|
||||
different = True
|
||||
return different
|
||||
|
||||
def checkPlurals( engNames, elem ):
|
||||
name = elem.get('name')
|
||||
if not name in engNames or not 'plurals' == engNames[name]['type']:
|
||||
print 'plurals', name, 'not in engNames or not a plurals there'
|
||||
ok = False
|
||||
elif pluralsIsSame(engNames, elem):
|
||||
ok = False
|
||||
else:
|
||||
for item in elem.getchildren():
|
||||
if 0 == len(item.text):
|
||||
ok = False
|
||||
print 'bad empty item', name
|
||||
sys.exit(1)
|
||||
ok = True
|
||||
return ok
|
||||
|
||||
def loadPlural(plural):
|
||||
items = {}
|
||||
for child in plural.getchildren():
|
||||
items[child.get('quantity')] = child.text
|
||||
return items
|
||||
|
||||
def checkAndCopy( engNames, src, dest, verbose ):
|
||||
parser = etree.XMLParser(remove_blank_text=True, encoding="utf-8")
|
||||
doc = etree.parse(src, parser)
|
||||
for elem in doc.getroot().iter():
|
||||
toRemove = None
|
||||
if 'resources' == elem.tag:
|
||||
pass
|
||||
elif 'item' == elem.tag:
|
||||
pass
|
||||
elif 'string' == elem.tag:
|
||||
name = elem.get('name')
|
||||
if not name in engNames or elem.text.startswith(s_prefix):
|
||||
toRemove = elem
|
||||
elif not 'string' == engNames[name]['type']:
|
||||
if 'plurals' == engNames[name]['type']:
|
||||
if sameAsEnglishPlural( engNames, elem ):
|
||||
toRemove = elem
|
||||
else:
|
||||
elem.tag = 'plurals'
|
||||
item = etree.Element("item")
|
||||
item.text = elem.text
|
||||
elem.text = None
|
||||
item.set('quantity', 'other')
|
||||
elem.append( item )
|
||||
if verbose: print 'translated string', name, 'to plural'
|
||||
else:
|
||||
toRemove = elem
|
||||
elif engNames[name]['string'] == elem.text:
|
||||
if verbose: print "Same as english: name: %s; text: %s" % (name, elem.text)
|
||||
toRemove = elem
|
||||
elif 'plurals' == elem.tag:
|
||||
name = elem.get('name')
|
||||
if not name in engNames or not 'plurals' == engNames[name]['type']:
|
||||
# print 'removing', name
|
||||
toRemove = elem
|
||||
elif not isinstance( elem.tag, basestring ): # comment
|
||||
toRemove = elem
|
||||
else:
|
||||
print 'unexpected elem:', elem.tag
|
||||
sys.exit(1)
|
||||
def writeDoc(doc, src, dest):
|
||||
comment = etree.Comment(sComment % (src))
|
||||
doc.getroot().insert( 0, comment )
|
||||
dir = os.path.dirname( dest )
|
||||
try: os.makedirs( dir )
|
||||
except: pass
|
||||
out = open( dest, "w" )
|
||||
out.write( etree.tostring( doc, pretty_print=True, encoding="utf-8", xml_declaration=True ) )
|
||||
|
||||
if toRemove is not None: toRemove.getparent().remove( toRemove )
|
||||
|
||||
if True:
|
||||
comment = etree.Comment(sComment % (src))
|
||||
doc.getroot().insert( 0, comment )
|
||||
dir = os.path.dirname( dest )
|
||||
try: os.makedirs( dir )
|
||||
except: pass
|
||||
out = open( dest, "w" )
|
||||
out.write( etree.tostring( doc, pretty_print=True, encoding="utf-8", xml_declaration=True ) )
|
||||
def checkOrConvertString(engNames, elem, verbose):
|
||||
name = elem.get('name')
|
||||
if not name in engNames or elem.text.startswith(s_prefix):
|
||||
ok = False
|
||||
elif not 'string' == engNames[name]['type']:
|
||||
if 'plurals' == engNames[name]['type']:
|
||||
if sameAsEnglishPlural( engNames, elem ):
|
||||
ok = False
|
||||
else:
|
||||
elem.tag = 'plurals'
|
||||
item = etree.Element("item")
|
||||
item.text = elem.text
|
||||
elem.text = None
|
||||
item.set('quantity', 'other')
|
||||
elem.append( item )
|
||||
if verbose: print 'translated string', name, 'to plural'
|
||||
ok = True
|
||||
else:
|
||||
ok = False
|
||||
elif sameOrSameWithPrefix(engNames[name]['string'], elem.text ):
|
||||
if verbose: print "Same as english: name: %s; text: %s" % (name, elem.text)
|
||||
ok = False
|
||||
else:
|
||||
ok = True
|
||||
return ok
|
||||
|
||||
def checkAndCopy( parser, engNames, src, dest, verbose ):
|
||||
doc = etree.parse(src, parser)
|
||||
|
||||
# strings
|
||||
for elem in doc.findall('string'):
|
||||
if not checkOrConvertString(engNames, elem, verbose):
|
||||
elem.getparent().remove(elem)
|
||||
|
||||
for elem in doc.findall('plurals'):
|
||||
if not checkPlurals(engNames, elem):
|
||||
elem.getparent().remove(elem)
|
||||
|
||||
writeDoc(doc, src, dest)
|
||||
|
||||
def main():
|
||||
# add these via params later
|
||||
|
@ -123,10 +150,10 @@ def main():
|
|||
path = None
|
||||
break
|
||||
if path:
|
||||
verbose = 0 < len([verb for verb in verboses if verb in path])
|
||||
verbose = 0 == len(verboses) or 0 < len([verb for verb in verboses if verb in path])
|
||||
print "*** looking at %s ***" % (path)
|
||||
dest = path.replace( 'res_src', 'res', 1 )
|
||||
checkAndCopy( engNames, path, dest, verbose )
|
||||
checkAndCopy( parser, engNames, path, dest, verbose )
|
||||
|
||||
##############################################################################
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in a new issue