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 -->
<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

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -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 ) {

View file

@ -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__':