Heroku ne semble pas charger i18n fonctionne parfaitement sur localhost, mais pas sur mon serveur Heroku . localhost: p> héroku: p> Il y en a si Correspond à mon problème, mais ce sont des fils morts. Je ne veux pas ouvrir une prime sur un fil dont les commentaires de l'OP ont laissé sans réponse, je préfère avoir une bonne question avec un bon suivi. De plus, les questions ne cassent pas le problème avec précision et, donc, les réponses manquent le point. P> config / local / pt.yml code>. (La langue est en cours d'installation correctement sur
pt code>.)
Le code est chez https://github.com/aneves/deficit-Puzzzle P> DUPS possibles: h3>
5 Réponses :
@Alexander Wenzowski m'a envoyé sur la bonne voie.
Il semble que le Byte Command Mark était en train de gâcher le chargement de Heroku de fichiers de localisation ...
Lorsque j'ai converti les fichiers pour ne pas avoir BOM, à l'aide de Notepad ++, tout a été corrigé. P>
Au début, j'essayais d'inspecter cette nouvelle chose pour moi, i18n.backend ... et puis j'ai remarqué ce que je avait manqué à première vue: que même si les données étaient là, c'était tout mutilé. P>
>> I18n.backend => #<I18n::Backend::Simple:0x7f74643e2f08 @skip_syntax_deprecation=false, @translations={:"\357\273\277# Sample localization file for English. Add mor e files in this directory for other locales. # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.\nen"=>{:Dest roy=>"Remove", :suspend=>"suspend", :confirm=>"Are you sure?", :Admin=>"Administration", :suspended=>"%{model} was successfully suspended.", :Back=>"B ack", :updated=>"%{model} was successfully updated.", :html_title=>"DeficitPuzzle", :to_frontpage=>"to frontpage", :approve=>"approve", :Show=>"Show", :to_admin=>"to administration", :theme=>{:n=>{:one=>"1 theme", :other=>"%{count} themes"}, :List=>"Listing themes", :New=>"New theme", :Destroy_perma nently=>"Permanently remove this theme", :Editing=>"Editing theme", :_=>"Theme"}, :Progress=>"Progress", :Proposals=>"Proposals", :approved=>"%{model} was successfully approved.", :activerecord=>nil, :save_errors=>{:one=>"1 error prohibited this item from being saved", :other=>"%{count} errors prohi bited this item from being saved"}, :proposal=>{:n=>{:one=>"1 proposal", :other=>"%{count} proposals"}, :List=>"Listing proposals", :New=>"New proposa l", :Impact=>"Impact", :Destroy_permanently=>"Permanently remove this proposal.", :Editing=>"Editing proposal", :Approved=>"Approved", :"Approved?"=>" Approved?", :_=>"Proposal", :Title=>"Title", :Description=>"Description"}, :helpers=>{:submit=>nil}, :created=>"%{model} was successfully created.", : Edit=>"Edit", :title=>"Deficit puzzle: you fix the budget"}, :â©ââpt=>{:Destroy=>"Remover", :suspend=>"suspender", :confirm=>"De certeza?", :Admin=>"Ad ministraâºâúo", :suspended=>"%{model} foi suspendida com sucesso.", :Back=>"AtrâÃs", :updated=>"%{model} foi actualizada com sucesso.", :html_title=>" DeficitPuzzle", :to_frontpage=>"ir para pâÃgina principal", :approve=>"aprovar", :Show=>"Mostrar", :to_admin=>"ir para administraâºâúo", :theme=>{:n=> {:one=>"1 tema", :other=>"%{count} temas"}, :List=>"Listando temas", :New=>"Novo tema", :Destroy_permanently=>"Remover este tema permanentemente.", :E diting=>"Editando tema", :_=>"Tema"}, :Progress=>"Progressâúo", :Proposals=>"Propostas", :approved=>"%{model} foi aprovada com sucesso.", :activerecor d=>{:attributes=>{:theme=>{:title=>"Tâ¡tulo"}, :proposal=>{:impact=>"Impacto", :description=>"Descriâºâúo", :title=>"Tâ¡tulo"}}, :models=>{:theme=>"Te ma", :proposal=>"Proposta"}}, :save_errors=>{:one=>"1 erro impediu este item de ser salvo", :other=>"%{count} erros impediram este item de ser salvo"} , :proposal=>{:n=>{:one=>"1 proposta", :other=>"%{count} propostas"}, :List=>"Listando propostas", :New=>"Nova proposta", :Impact=>"Impacto", :Destroy _permanently=>"Remover permanentemente esta proposta.", :Editing=>"Editando proposta", :Approved=>"Aprovada", :"Approved?"=>"Aprovada?", :_=>"Proposta ", :Title=>"Tâ¡tulo", :Description=>"Descriâºâúo"}, :helpers=>{:submit=>{:update=>"Actualizar %{model}", :create=>"Criar %{model}"}}, :created=>"%{mod el} foi criada com sucesso.", :Edit=>"Editar", :title=>"Deficit puzzle: tu consertas o orâºamento"}, :en=>{:support=>{:array=>{:words_connector=>", ", :two_words_connector=>" and ", :last_word_connector=>", and "}}, :number=>{:precision=>{:format=>{:delimiter=>""}}, :format=>{:separator=>".", :delim iter=>",", :precision=>3, :significant=>false, :strip_insignificant_zeros=>false}, :human=>{:storage_units=>{:units=>{:byte=>{:one=>"Byte", :other=>"B ytes"}, :kb=>"KB", :mb=>"MB", :gb=>"GB", :tb=>"TB"}, :format=>"%n %u"}, :format=>{:delimiter=>"", :precision=>3, :significant=>true, :strip_insignific ant_zeros=>true}, :decimal_units=>{:units=>{:million=>"Million", :unit=>"", :billion=>"Billion", :trillion=>"Trillion", :quadrillion=>"Quadrillion", : thousand=>"Thousand"}, :format=>"%n %u"}}, :percentage=>{:format=>{:delimiter=>""}}, :currency=>{:format=>{:separator=>".", :unit=>"$", :delimiter=>", ", :precision=>2, :significant=>false, :strip_insignificant_zeros=>false, :format=>"%u%n"}}}, :datetime=>{:distance_in_words=>{:about_x_hours=>{:one=> "about 1 hour", :other=>"about %{count} hours"}, :about_x_years=>{:one=>"about 1 year", :other=>"about %{count} years"}, :x_days=>{:one=>"1 day", :oth er=>"%{count} days"}, :over_x_years=>{:one=>"over 1 year", :other=>"over %{count} years"}, :less_than_x_minutes=>{:one=>"less than a minute", :other=> "less than %{count} minutes"}, :about_x_months=>{:one=>"about 1 month", :other=>"about %{count} months"}, :x_minutes=>{:one=>"1 minute", :other=>"%{co unt} minutes"}, :almost_x_years=>{:one=>"almost 1 year", :other=>"almost %{count} years"}, :x_months=>{:one=>"1 month", :other=>"%{count} months"}, :l ess_than_x_seconds=>{:one=>"less than 1 second", :other=>"less than %{count} seconds"}, :half_a_minute=>"half a minute", :x_seconds=>{:one=>"1 second" , :other=>"%{count} seconds"}}, :prompts=>{:day=>"Day", :minute=>"Minute", :month=>"Month", :year=>"Year", :hour=>"Hour", :second=>"Seconds"}}, :time= >{:formats=>{:default=>"%a, %d %b %Y %H:%M:%S %z", :short=>"%d %b %H:%M", :long=>"%B %d, %Y %H:%M"}, :pm=>"pm", :am=>"am"}, :date=>{:formats=>{:defaul t=>"%Y-%m-%d", :short=>"%b %d", :long=>"%B %d, %Y"}, :abbr_day_names=>["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], :order=>[:year, :month, :day] , :day_names=>["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], :abbr_month_names=>[nil, "Jan", "Feb", "Mar", "Apr", "Ma y", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], :month_names=>[nil, "January", "February", "March", "April", "May", "June", "July", "August", "S eptember", "October", "November", "December"]}, :errors=>{:format=>"%{attribute} %{message}", :messages=>{:even=>"must be even", :confirmation=>"doesn 't match confirmation", :greater_than_or_equal_to=>"must be greater than or equal to %{count}", :accepted=>"must be accepted", :equal_to=>"must be equ al to %{count}", :not_an_integer=>"must be an integer", :empty=>"can't be empty", :wrong_length=>"is the wrong length (should be %{count} characters)" , :less_than=>"must be less than %{count}", :blank=>"can't be blank", :too_short=>"is too short (minimum is %{count} characters)", :exclusion=>"is res erved", :inclusion=>"is not included in the list", :less_than_or_equal_to=>"must be less than or equal to %{count}", :not_a_number=>"is not a number", :too_long=>"is too long (maximum is %{count} characters)", :invalid=>"is invalid", :odd=>"must be odd", :greater_than=>"must be greater than %{count} "}}, :activerecord=>{:errors=>{:messages=>{:record_invalid=>"Validation failed: %{errors}", :taken=>"has already been taken"}}}, :helpers=>{:submit=>{ :submit=>"Save %{model}", :update=>"Update %{model}", :create=>"Create %{model}"}, :select=>{:prompt=>"Please select"}}}}, @initialized=true>
Curieusement, les données apparaissaient dans Ceci a conduit à la réalisation que le chemin de charge doit être configuré correctement pour les rails pour rechercher les fichiers de traduction, mais qu'il ne les a pas fait correctement. P>
Ce voyant @aneves découvrir qu'un BOM perturbait la capacité de Heroku à analyser les fichiers qui a abouti au correctif d'éliminer le noyau incriminé. p>
La norme Unicode permet à la nomination de l'UTF-8 , mais < un href = "http://fr.wikipedia.org/wiki/byte_order_mark#cite_note-2" rel = "noreferrer"> n'est pas
exiger ou recommander son utilisation. Octy order n'a aucune signification dans
UTF-8 Donc, dans UTF-8, le candidat ne sert que d'identifier un flux de texte ou
Fichier comme UTF-8. P>
De nombreux programmes Windows (y compris le bloc-notes Windows) ajoutent des boms
aux fichiers UTF-8 par défaut. p>
blockQuote>
Si les futurs lecteurs sont sur Ruby-1.9 envisager de lire sur Problèmes de codage communs . P> i18n.backend code> comme prévu, mais n'étaient pas sélectionnées individuellement à l'aide de
i18n.t code> p> p>
Wikipedia sur bom dans utf-8 h3>
Et je pense vraiment que c'est une meilleure réponse que la mienne aussi. Marquage aussi comme réponse.
Ce problème ne semble pas être spécifique à l'heroku et se produirait sur n'importe quelle fenêtre Windows / Unix Co-mêlant avec Ruby / I18N. P>
Très assertif. Est-ce que je suppose correctement que cette réponse est hors de l'expérience personnelle? (Fait la réponse aussi utile. :)
Heroku utilise une construction standard de rubis, ce qui est donc certainement juste une différence Windows / Unix avec la marque BOM. Il ne devrait y avoir rien d'unique à l'environnement Heroku qui serait en jeu ici.
écrire cette ligne résoudra également le problème de votre application.rb
Je pense que vous avez eu un problème différent, car mon problème n'obtiendait pas le fichier mais l'analyse de son contenu: la naissance ruinait le chargement du contenu du fichier.
Ouais Heroku n'a pas lu mon fichier de région alors quand j'ai mis que j'ai travaillé pour moi
J'ai rencontré un problème similaire, mais le mien devait avoir des touches en double.
Dans un fichier, nous avons défini ceci: p> et une autre nous définissons en:
dashboard:
title: "Some Title"
C'était exactement mon problème. Trouver pour des entrées en double!
Curieusement, toutes les traductions apparaissent dans
i18n.backend code> mais pas dans i18n.t
@Alexanderwenzowski, merci! Votre commentaire compte définitivement comme
une explication au problème, un moyen de résoudre le problème même sans la comprendre, ni même des indications fortement incitables à un tel correctif. Code> dans mon livre. Mais Bounty ne peut pas être affecté à des commentaires. ;) Pourriez-vous poster le commentaire comme une réponse? (Ce problème I18N me dérangeait depuis la fin du 28 août ... Meh)
Heureux d'avoir pu aider!