Defect #6725

Acronyms don't works for russian language

Added by Александр Шестаков over 6 years ago. Updated almost 5 years ago.

Status:NewStart date:2010-10-22
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Wiki
Target version:Unplanned
Resolution: Affected version:1.0.1

Description

For example:

Россия(Russsia in Russian)

don't works :(


Related issues

Duplicated by Redmine - Defect #9665: Wiki format: acronyms in Cyrillic do not work, see example Closed 2011-11-25
Blocked by Redmine - Feature #4050: Ruby 1.9 support Closed 2009-10-18

History

#1 Updated by Holger Just over 6 years ago

  • Assignee deleted (Holger Just)

Please don't assign issue to people without them telling you to do so.

Also, please state what you exactly you mean with "don't works".

#2 Updated by Jean-Baptiste Barth over 6 years ago

Acronyms only work with one capital letter followed by some capital letters or numbers. By letter, we mean A to Z... So Blah(de fi ni tion) will produce Blah(de fi ni tion).

In your example, are "Россия" all capital letters in russian alphabet ?

#3 Updated by Александр Шестаков over 6 years ago

Yes, for example:

en: RUSSIA
ru: РОССИЯ(Страна)

#4 Updated by Jean-Baptiste Barth over 6 years ago

  • Assignee set to Jean-Baptiste Barth
  • Target version set to Unplanned

OK. It won't be easy to implement until we fully support Ruby 1.9, which comes with the right libraries to handle non-ASCII characters.

For the record, everything happens line 459 of lib/redcloth3.rb (maybe we'll be on RedCloth4 when we support Ruby 1.9...). Regex with Unicode selectors like "РОССИЯ".match(/^\p{Lu}+$/) should work on Ruby 1.9+ (PCRE lib is too old on Ruby 1.8.x)

#5 Updated by killout killout about 6 years ago

Hello. This is my version of solving problem.

1. Add trigger to wiki_pages table:

-- Trigger: alex_wiki_pages_tolower on wiki_pages

-- DROP TRIGGER alex_wiki_pages_tolower ON wiki_pages;

CREATE TRIGGER alex_wiki_pages_tolower
  AFTER INSERT OR UPDATE
  ON wiki_pages
  FOR EACH ROW
  EXECUTE PROCEDURE alex_wiki_pages_tolower();

2.add trigger function to redmine postgresql database:

-- Function: alex_wiki_pages_tolower()

-- DROP FUNCTION alex_wiki_pages_tolower();

CREATE OR REPLACE FUNCTION alex_wiki_pages_tolower()
  RETURNS trigger AS
$BODY$
BEGIN
NEW.title=lower(NEW.title);
return NEW;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION alex_wiki_pages_tolower() OWNER TO postgres;

So new pages will created in small leters, even if you taped in capital letters.

#6 Updated by Jean-Baptiste Barth almost 5 years ago

  • Assignee deleted (Jean-Baptiste Barth)

Also available in: Atom PDF