Merge branch 'android_branch' into relay_noconn

Conflicts:
	xwords4/android/XWords4/archive/R.java
This commit is contained in:
Eric House 2015-08-27 07:53:14 -07:00
commit be44613773
9 changed files with 4716 additions and 520 deletions

File diff suppressed because it is too large Load diff

View file

@ -712,7 +712,10 @@
<!-- Notifies user of a normal robot move --> <!-- Notifies user of a normal robot move -->
<string name="str_robot_moved_fmt">The robot %1$s made this move:\u0020</string> <string name="str_robot_moved_fmt">The robot %1$s made this move:\u0020</string>
<!-- Notifies user of a robot trade move --> <!-- 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 <!-- title for window you get when you select menu with text
board_menu_game_counts --> board_menu_game_counts -->
<string name="strs_values_header_fmt">%1$s counts/values:\n</string> <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 <!-- Text of dialog asking user to confirm a move that exchanges
tiles (instead of forming a new word to earn points) --> 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 <plurals name="query_trade_fmt">
%1$d selected tiles (%2$s)?</item></plurals> <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: # :Screens:
@ -1801,11 +1808,11 @@
<string name="pick_faceup">Pick tiles face-up</string> <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 <string name="dict_browse_title_fmt">%1$s (%2$d words using %3$d-%4$d
tiles)</item></plurals> tiles)</string>
<!-- --> <!-- -->
<plurals name="dict_browse_title1_fmt"><item quantity="other">%1$s (%2$d words using %3$d <string name="dict_browse_title1_fmt">%1$s (%2$d words using %3$d
tiles)</item></plurals> tiles)</string>
<!-- --> <!-- -->
<string name="dict_browse_nowords_fmt">No word in %1$s starts with <string name="dict_browse_nowords_fmt">No word in %1$s starts with
%2$s.</string> %2$s.</string>
@ -1882,6 +1889,9 @@
<string name="new_move_body">One or more moves has arrived</string> <string name="new_move_body">One or more moves has arrived</string>
<!-- --> <!-- -->
<plurals name="invite_bt_desc_fmt"> <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] <item quantity="other">Please select up to %1$d device[s]
you want to include in this game. Use the \"%2$s\" you want to include in this game. Use the \"%2$s\"
button if you don\'t see a device you expect.</item> 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_cur_games">My games</string>
<string name="group_new_games">New 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 <plurals name="groups_confirm_del_fmt">
the %1$d selected group[s]?</item></plurals> <item quantity="one">Are you sure you want to delete
<plurals name="groups_confirm_del_games_fmt"><item quantity="other">\n\n(%1$d game[s] will the selected group?</item>
also be deleted.)</item></plurals> <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="rename_group_label">Change the name of this group to:</string>
<string name="game_name_group_title">Name group</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_copy_sel">Copy to clipboard</string>
<string name="slmenu_clear_sel">Delete selected</string> <string name="slmenu_clear_sel">Delete selected</string>
<plurals name="confirm_studylist_clear_fmt"><item quantity="other">Are you sure you want to <plurals name="confirm_studylist_clear_fmt">
delete the %1$d selected word[s]?\n\n(This action cannot be undone.)</item></plurals> <item quantity="one">Are you sure you want to delete the
<plurals name="paste_done_fmt"><item quantity="other">%1$d word[s] copied</item></plurals> 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="add_done_fmt">%1$s added to %2$s studylist</string>
<string name="studylist_title_fmt">Studylist for %1$s</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_blessed">%1$s (official)</string>
<string name="loc_lang_local">%1$s (yours)</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_title">Enable local translating</string>
<string name="xlations_enabled_summary">Add option to every screen menu</string> <string name="xlations_enabled_summary">Add option to every screen menu</string>
@ -2341,13 +2368,16 @@
<!-- formatting for last move summary in notifications --> <!-- formatting for last move summary in notifications -->
<string name="lmi_pass_fmt">%1$s passed (0 points)</string> <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_move_fmt">
<plurals name="lmi_trade_fmt"><item quantity="other">%1$s traded %2$d tiles</item></plurals> <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_phony_fmt">%1$s lost a turn</string>
<string name="lmi_tiles_fmt">Tiles assigned to %1$s</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 <string name="bt_no_devs">You currently have no paired Bluetooth
devices. Would you like to open the Android Settings Panel to add 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 one or more?\n\n(You may also need to open it on the device you

View file

@ -606,6 +606,7 @@
<string name="str_robot_moved_fmt">Eht tobor %1$s edam siht evom:\u0020</string> <string name="str_robot_moved_fmt">Eht tobor %1$s edam siht evom:\u0020</string>
<!-- Notifies user of a robot trade move --> <!-- Notifies user of a robot trade move -->
<plurals name="strd_robot_traded_fmt"> <plurals name="strd_robot_traded_fmt">
<item quantity="one">degnahcxe eno elit.</item>
<item quantity="other">degnahcxe %1$d selit.</item> <item quantity="other">degnahcxe %1$d selit.</item>
</plurals> </plurals>
<!-- title for window you get when you select menu with text <!-- title for window you get when you select menu with text
@ -1071,6 +1072,8 @@
<!-- Text of dialog asking user to confirm a move that exchanges <!-- Text of dialog asking user to confirm a move that exchanges
tiles (instead of forming a new word to earn points) --> tiles (instead of forming a new word to earn points) -->
<plurals name="query_trade_fmt"> <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 <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> </plurals>
@ -1551,15 +1554,11 @@
<!-- --> <!-- -->
<string name="pick_faceup">Kcip selit pu-ecaf</string> <string name="pick_faceup">Kcip selit pu-ecaf</string>
<!-- --> <!-- -->
<plurals name="dict_browse_title_fmt"> <string name="dict_browse_title_fmt">%1$s (%2$d sdrow gnisu %3$d-%4$d
<item quantity="other">%1$s (%2$d sdrow gnisu %3$d-%4$d )selit</string>
)selit</item>
</plurals>
<!-- --> <!-- -->
<plurals name="dict_browse_title1_fmt"> <string name="dict_browse_title1_fmt">%1$s (%2$d sdrow gnisu %3$d
<item quantity="other">%1$s (%2$d sdrow gnisu %3$d )selit</string>
)selit</item>
</plurals>
<!-- --> <!-- -->
<string name="dict_browse_nowords_fmt">On drow ni %1$s strats htiw <string name="dict_browse_nowords_fmt">On drow ni %1$s strats htiw
%2$s.</string> %2$s.</string>
@ -1626,6 +1625,9 @@
<string name="new_move_body">Eno ro erom sevom sah devirra</string> <string name="new_move_body">Eno ro erom sevom sah devirra</string>
<!-- --> <!-- -->
<plurals name="invite_bt_desc_fmt"> <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 <item quantity="other">Esaelp tceles pu ot %1$d ]s[ecived
uoy tnaw ot edulcni ni siht emag. Esu eht \"%2$s\" uoy tnaw ot edulcni ni siht emag. Esu eht \"%2$s\"
nottub fi uoy nod\'t ees a ecived uoy tcepxe.</item> 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_cur_games">Ym semag</string>
<string name="group_new_games">Wen semag</string> <string name="group_new_games">Wen semag</string>
<plurals name="groups_confirm_del_fmt"> <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 <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>
<plurals name="groups_confirm_del_games_fmt"> <plurals name="groups_confirm_del_games_fmt">
<item quantity="other">\n\n(%1$d ]s[emag lliw <item quantity="one">\n\neno( emag lliw osla eb deteled.)</item>
osla eb deteled.)</item> <item quantity="other">\n\n(%1$d semag lliw osla eb
deteled.)</item>
</plurals> </plurals>
<string name="rename_group_label">Egnahc eht eman fo siht puorg ot:</string> <string name="rename_group_label">Egnahc eht eman fo siht puorg ot:</string>
<string name="game_name_group_title">Eman puorg</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_copy_sel">Ypoc ot draobpilc</string>
<string name="slmenu_clear_sel">Eteled detceles</string> <string name="slmenu_clear_sel">Eteled detceles</string>
<plurals name="confirm_studylist_clear_fmt"> <plurals name="confirm_studylist_clear_fmt">
<item quantity="other">Era uoy erus uoy tnaw ot <item quantity="one">Era uoy erus uoy tnaw ot eteled eht
eteled eht %1$d detceles ?]s[drow\n\nsIht( noitca tonnac eb enodnu.)</item> 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>
<plurals name="paste_done_fmt"> <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> </plurals>
<string name="add_done_fmt">%1$s dedda ot %2$s tsilyduts</string> <string name="add_done_fmt">%1$s dedda ot %2$s tsilyduts</string>
<string name="studylist_title_fmt">Tsilyduts rof %1$s</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_blessed">%1$s )laiciffo(</string>
<string name="loc_lang_local">%1$s )sruoy(</string> <string name="loc_lang_local">%1$s )sruoy(</string>
<plurals name="new_xlations_fmt"> <plurals name="new_xlations_fmt">
<item quantity="one">Dellatsni eno wen noitalsnart</item>
<item quantity="other">Dellatsni %1$d wen snoitalsnart</item> <item quantity="other">Dellatsni %1$d wen snoitalsnart</item>
</plurals> </plurals>
<string name="xlations_enabled_title">Elbane lacol gnitalsnart</string> <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> <item quantity="other">%1$s deyalp %2$s rof %3$d stniop</item>
</plurals> </plurals>
<plurals name="lmi_trade_fmt"> <plurals name="lmi_trade_fmt">
<item quantity="one">%1$s dedart eno elit</item>
<item quantity="other">%1$s dedart %2$d selit</item> <item quantity="other">%1$s dedart %2$d selit</item>
</plurals> </plurals>
<string name="lmi_phony_fmt">%1$s tsol a nrut</string> <string name="lmi_phony_fmt">%1$s tsol a nrut</string>
<string name="lmi_tiles_fmt">Selit dengissa ot %1$s</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 <string name="bt_no_devs">Uoy yltnerruc evah on deriap Htooteulb
secived. Dluow uoy ekil ot nepo eht Diordna Sgnittes Lenap ot dda 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 eno ro ?erom\n\nuOy( yam osla deen ot nepo ti no eht ecived uoy

View file

@ -508,12 +508,8 @@
<string name="cur_tiles_fmt">Selector de fitxes\n(com a molt:%1$s)</string> <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> <string name="pick_faceup">Tria les fitxes cara amunt</string>
<plurals name="dict_browse_title_fmt"> <string name="dict_browse_title_fmt">%1$s (%2$d paraules usant %3$d-%4$d fitxes)</string>
<item quantity="other">%1$s (%2$d paraules usant %3$d-%4$d fitxes)</item> <string name="dict_browse_title1_fmt">%1$s (%2$d paraules usant %3$d fitxes)</string>
</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_nowords_fmt">No hi ha cap paraula a %1$s que comenci amb %2$s.</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_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> <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="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> <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> <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>

View file

@ -606,6 +606,7 @@
<string name="str_robot_moved_fmt">THE ROBOT %1$s MADE THIS MOVE:\u0020</string> <string name="str_robot_moved_fmt">THE ROBOT %1$s MADE THIS MOVE:\u0020</string>
<!-- Notifies user of a robot trade move --> <!-- Notifies user of a robot trade move -->
<plurals name="strd_robot_traded_fmt"> <plurals name="strd_robot_traded_fmt">
<item quantity="one">EXCHANGED ONE TILE.</item>
<item quantity="other">EXCHANGED %1$d TILES.</item> <item quantity="other">EXCHANGED %1$d TILES.</item>
</plurals> </plurals>
<!-- title for window you get when you select menu with text <!-- title for window you get when you select menu with text
@ -1071,6 +1072,8 @@
<!-- Text of dialog asking user to confirm a move that exchanges <!-- Text of dialog asking user to confirm a move that exchanges
tiles (instead of forming a new word to earn points) --> tiles (instead of forming a new word to earn points) -->
<plurals name="query_trade_fmt"> <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 <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> </plurals>
@ -1551,15 +1554,11 @@
<!-- --> <!-- -->
<string name="pick_faceup">PICK TILES FACE-UP</string> <string name="pick_faceup">PICK TILES FACE-UP</string>
<!-- --> <!-- -->
<plurals name="dict_browse_title_fmt"> <string name="dict_browse_title_fmt">%1$s (%2$d WORDS USING %3$d-%4$d
<item quantity="other">%1$s (%2$d WORDS USING %3$d-%4$d TILES)</string>
TILES)</item>
</plurals>
<!-- --> <!-- -->
<plurals name="dict_browse_title1_fmt"> <string name="dict_browse_title1_fmt">%1$s (%2$d WORDS USING %3$d
<item quantity="other">%1$s (%2$d WORDS USING %3$d TILES)</string>
TILES)</item>
</plurals>
<!-- --> <!-- -->
<string name="dict_browse_nowords_fmt">NO WORD IN %1$s STARTS WITH <string name="dict_browse_nowords_fmt">NO WORD IN %1$s STARTS WITH
%2$s.</string> %2$s.</string>
@ -1626,6 +1625,9 @@
<string name="new_move_body">ONE OR MORE MOVES HAS ARRIVED</string> <string name="new_move_body">ONE OR MORE MOVES HAS ARRIVED</string>
<!-- --> <!-- -->
<plurals name="invite_bt_desc_fmt"> <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] <item quantity="other">PLEASE SELECT UP TO %1$d DEVICE[S]
YOU WANT TO INCLUDE IN THIS GAME. USE THE \"%2$s\" YOU WANT TO INCLUDE IN THIS GAME. USE THE \"%2$s\"
BUTTON IF YOU DON\'T SEE A DEVICE YOU EXPECT.</item> 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_cur_games">MY GAMES</string>
<string name="group_new_games">NEW GAMES</string> <string name="group_new_games">NEW GAMES</string>
<plurals name="groups_confirm_del_fmt"> <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 <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>
<plurals name="groups_confirm_del_games_fmt"> <plurals name="groups_confirm_del_games_fmt">
<item quantity="other">\n\n(%1$d GAME[S] WILL <item quantity="one">\n\n(ONE GAME WILL ALSO BE DELETED.)</item>
ALSO BE DELETED.)</item> <item quantity="other">\n\n(%1$d GAMES WILL ALSO BE
DELETED.)</item>
</plurals> </plurals>
<string name="rename_group_label">CHANGE THE NAME OF THIS GROUP TO:</string> <string name="rename_group_label">CHANGE THE NAME OF THIS GROUP TO:</string>
<string name="game_name_group_title">NAME GROUP</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_copy_sel">COPY TO CLIPBOARD</string>
<string name="slmenu_clear_sel">DELETE SELECTED</string> <string name="slmenu_clear_sel">DELETE SELECTED</string>
<plurals name="confirm_studylist_clear_fmt"> <plurals name="confirm_studylist_clear_fmt">
<item quantity="other">ARE YOU SURE YOU WANT TO <item quantity="one">ARE YOU SURE YOU WANT TO DELETE THE
DELETE THE %1$d SELECTED WORD[S]?\n\n(THIS ACTION CANNOT BE UNDONE.)</item> 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>
<plurals name="paste_done_fmt"> <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> </plurals>
<string name="add_done_fmt">%1$s ADDED TO %2$s STUDYLIST</string> <string name="add_done_fmt">%1$s ADDED TO %2$s STUDYLIST</string>
<string name="studylist_title_fmt">STUDYLIST FOR %1$s</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_blessed">%1$s (OFFICIAL)</string>
<string name="loc_lang_local">%1$s (YOURS)</string> <string name="loc_lang_local">%1$s (YOURS)</string>
<plurals name="new_xlations_fmt"> <plurals name="new_xlations_fmt">
<item quantity="one">INSTALLED ONE NEW TRANSLATION</item>
<item quantity="other">INSTALLED %1$d NEW TRANSLATIONS</item> <item quantity="other">INSTALLED %1$d NEW TRANSLATIONS</item>
</plurals> </plurals>
<string name="xlations_enabled_title">ENABLE LOCAL TRANSLATING</string> <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> <item quantity="other">%1$s PLAYED %2$s FOR %3$d POINTS</item>
</plurals> </plurals>
<plurals name="lmi_trade_fmt"> <plurals name="lmi_trade_fmt">
<item quantity="one">%1$s TRADED ONE TILE</item>
<item quantity="other">%1$s TRADED %2$d TILES</item> <item quantity="other">%1$s TRADED %2$d TILES</item>
</plurals> </plurals>
<string name="lmi_phony_fmt">%1$s LOST A TURN</string> <string name="lmi_phony_fmt">%1$s LOST A TURN</string>
<string name="lmi_tiles_fmt">TILES ASSIGNED TO %1$s</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 <string name="bt_no_devs">YOU CURRENTLY HAVE NO PAIRED BLUETOOTH
DEVICES. WOULD YOU LIKE TO OPEN THE ANDROID SETTINGS PANEL TO ADD 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 ONE OR MORE?\n\n(YOU MAY ALSO NEED TO OPEN IT ON THE DEVICE YOU

View file

@ -2225,20 +2225,13 @@ ligne, les mots qui viennent d\'être joués.</string>
tiles)</string>--> tiles)</string>-->
<!--<string name="dict_browse_title_fmt">%1$s (%2$d mots utilisant de %3$d à <!--<string name="dict_browse_title_fmt">%1$s (%2$d mots utilisant de %3$d à
%4$d jetons)</string>--> %4$d jetons)</string>-->
<plurals name="dict_browse_title_fmt"> <string name="dict_browse_title_fmt">%1$s (%2$d mots utilisant de
<item quantity="one">%1$s (%2$d mot utilisant de %3$d à %3$d à %4$d jetons)</string>
%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_title1_fmt">%1$s (%2$d words using %3$d <!--<string name="dict_browse_title1_fmt">%1$s (%2$d words using %3$d
tiles)</string>--> tiles)</string>-->
<!--<string name="dict_browse_title1_fmt">%1$s (%2$d mots utilisant %3$d jetons)</string>--> <!--<string name="dict_browse_title1_fmt">%1$s (%2$d mots utilisant %3$d jetons)</string>-->
<plurals name="dict_browse_title1_fmt"> <string name="dict_browse_title1_fmt">%1$s (%2$d mots utilisant %3$d jetons)</string>
<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_nowords_fmt">No word in %1$s starts with <!--<string name="dict_browse_nowords_fmt">No word in %1$s starts with
%2$s.</string>--> %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">Tiles assigned to %1$s</string>-->
<string name="lmi_tiles_fmt">Jetons attribués à %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 <!--<string name="bt_no_devs">You currently have no paired Bluetooth
devices. Would you like to open the Android Settings Panel to add 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 one or more?\n\n(You may also need to open it on the device you

View file

@ -390,14 +390,8 @@
<string name="tilepick_all">Kies voor mij</string> <string name="tilepick_all">Kies voor mij</string>
<string name="cur_tiles_fmt">Letter kiezer\n(tot nog toe: %1$s)</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> <string name="pick_faceup">Pak letters met de letter naar boven</string>
<plurals name="dict_browse_title_fmt"> <string name="dict_browse_title_fmt">%1$s (%2$d woorden met %3$d-%4$d letters)</string>
<item quantity="one">%1$s (%2$d woord met %3$d-%4$d letters)</item> <string name="dict_browse_title1_fmt">%1$s (%2$d woorden met %3$d letters)</string>
<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_nowords_fmt">Geen woord in %1$s begint met %2$s.</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_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> <string name="not_again_browseall">Deze knop opent de woordenlijst browser voor de woordenlijst van jouw keuze.</string>
@ -674,10 +668,6 @@
</plurals> </plurals>
<string name="lmi_phony_fmt">%1$s heeft een beurt verloren</string> <string name="lmi_phony_fmt">%1$s heeft een beurt verloren</string>
<string name="lmi_tiles_fmt">Letters gedeeld naar %1$s</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="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="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> <string name="default_language">Stardaardtaal</string>

View file

@ -90,8 +90,8 @@ public class DictBrowseDelegate extends ListDelegateBase
m_nWords = XwJNI.dict_iter_wordCount( m_dictClosure ); m_nWords = XwJNI.dict_iter_wordCount( m_dictClosure );
int format = m_browseState.m_minShown == m_browseState.m_maxShown ? int format = m_browseState.m_minShown == m_browseState.m_maxShown ?
R.plurals.dict_browse_title1_fmt : R.plurals.dict_browse_title_fmt; R.string.dict_browse_title1_fmt : R.string.dict_browse_title_fmt;
setTitle( getQuantityString( format, m_nWords, m_name, m_nWords, setTitle( getString( format, m_name, m_nWords,
m_browseState.m_minShown, m_browseState.m_minShown,
m_browseState.m_maxShown )); m_browseState.m_maxShown ));

View file

@ -31,29 +31,59 @@ def sameAsEnglishPlural(engNames, strElem):
and sameOrSameWithPrefix( str, strs['other'] ) and sameOrSameWithPrefix( str, strs['other'] )
return result 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): def loadPlural(plural):
items = {} items = {}
for child in plural.getchildren(): for child in plural.getchildren():
items[child.get('quantity')] = child.text items[child.get('quantity')] = child.text
return items return items
def checkAndCopy( engNames, src, dest, verbose ): def writeDoc(doc, src, dest):
parser = etree.XMLParser(remove_blank_text=True, encoding="utf-8") comment = etree.Comment(sComment % (src))
doc = etree.parse(src, parser) doc.getroot().insert( 0, comment )
for elem in doc.getroot().iter(): dir = os.path.dirname( dest )
toRemove = None try: os.makedirs( dir )
if 'resources' == elem.tag: except: pass
pass out = open( dest, "w" )
elif 'item' == elem.tag: out.write( etree.tostring( doc, pretty_print=True, encoding="utf-8", xml_declaration=True ) )
pass
elif 'string' == elem.tag: def checkOrConvertString(engNames, elem, verbose):
name = elem.get('name') name = elem.get('name')
if not name in engNames or elem.text.startswith(s_prefix): if not name in engNames or elem.text.startswith(s_prefix):
toRemove = elem ok = False
elif not 'string' == engNames[name]['type']: elif not 'string' == engNames[name]['type']:
if 'plurals' == engNames[name]['type']: if 'plurals' == engNames[name]['type']:
if sameAsEnglishPlural( engNames, elem ): if sameAsEnglishPlural( engNames, elem ):
toRemove = elem ok = False
else: else:
elem.tag = 'plurals' elem.tag = 'plurals'
item = etree.Element("item") item = etree.Element("item")
@ -62,32 +92,29 @@ def checkAndCopy( engNames, src, dest, verbose ):
item.set('quantity', 'other') item.set('quantity', 'other')
elem.append( item ) elem.append( item )
if verbose: print 'translated string', name, 'to plural' if verbose: print 'translated string', name, 'to plural'
ok = True
else: else:
toRemove = elem ok = False
elif engNames[name]['string'] == elem.text: elif sameOrSameWithPrefix(engNames[name]['string'], elem.text ):
if verbose: print "Same as english: name: %s; text: %s" % (name, elem.text) if verbose: print "Same as english: name: %s; text: %s" % (name, elem.text)
toRemove = elem ok = False
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: else:
print 'unexpected elem:', elem.tag ok = True
sys.exit(1) return ok
if toRemove is not None: toRemove.getparent().remove( toRemove ) def checkAndCopy( parser, engNames, src, dest, verbose ):
doc = etree.parse(src, parser)
if True: # strings
comment = etree.Comment(sComment % (src)) for elem in doc.findall('string'):
doc.getroot().insert( 0, comment ) if not checkOrConvertString(engNames, elem, verbose):
dir = os.path.dirname( dest ) elem.getparent().remove(elem)
try: os.makedirs( dir )
except: pass for elem in doc.findall('plurals'):
out = open( dest, "w" ) if not checkPlurals(engNames, elem):
out.write( etree.tostring( doc, pretty_print=True, encoding="utf-8", xml_declaration=True ) ) elem.getparent().remove(elem)
writeDoc(doc, src, dest)
def main(): def main():
# add these via params later # add these via params later
@ -123,10 +150,10 @@ def main():
path = None path = None
break break
if path: 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) print "*** looking at %s ***" % (path)
dest = path.replace( 'res_src', 'res', 1 ) dest = path.replace( 'res_src', 'res', 1 )
checkAndCopy( engNames, path, dest, verbose ) checkAndCopy( parser, engNames, path, dest, verbose )
############################################################################## ##############################################################################
if __name__ == '__main__': if __name__ == '__main__':